06 Dec, 2012

1 commit

  • This updates the IRQdomain documentation a bit, by adding a more
    verbose explanation to why we need this, and by adding some
    extended documentation of the irq_domain_simple() usecase.

    Signed-off-by: Linus Walleij
    Signed-off-by: Grant Likely

    Linus Walleij
     

30 Nov, 2012

1 commit


26 Nov, 2012

4 commits

  • Linus Torvalds
     
  • Pull powerpc EEH bugfixes from Benjamin Herrenschmidt.

    Two one-liner fixes for the new EEH code.

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/eeh: Do not invalidate PE properly
    powerpc/pseries: Fix oops with MSIs when missing EEH PEs

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Three issues fixed accross the field:

    - Some functions that were recently outlined as part of a preemption
    fix were causing problems with function tracing.
    - The recently merged in-kernel MPI library uses very outdated
    headers that contain MIPS-specific code which won't build on with
    gcc 4.4 or newer.
    - The MIPS non-NUMA memory initialization was making only a very
    half-baked attempt at merging adjacent memory ranges. This kept
    the code simple enough but is now causing issues with kexec."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MPI: Fix compilation on MIPS with GCC 4.4 and newer
    MIPS: Fix crash that occurs when function tracing is enabled
    MIPS: Merge overlapping bootmem ranges

    Linus Torvalds
     
  • While the EEH does recovery on the specific PE that has PCI errors,
    the PCI devices belonging to the PE will be removed and the PE will
    be marked as invalid since we still need the information stored in
    the PE. We only invalidate the PE when it doesn't have associated
    EEH devices and valid child PEs. However, the code used to check
    that is wrong. The patch fixes that.

    Signed-off-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Gavin Shan
     

25 Nov, 2012

1 commit


24 Nov, 2012

21 commits

  • I forgot this again... codec->in_pm is in #ifdef CONFIG_PM

    Reported-by: Markus Trippelsdorf
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Pull x86 arch fixes from Peter Anvin:
    "Here is a collection of fixes for 3.7-rc7. This is a superset of
    tglx' earlier pull request."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86-64: Fix ordering of CFI directives and recent ASM_CLAC additions
    x86, microcode, AMD: Add support for family 16h processors
    x86-32: Export kernel_stack_pointer() for modules
    x86-32: Fix invalid stack address while in softirq
    x86, efi: Fix processor-specific memcpy() build error
    x86: remove dummy long from EFI stub
    x86, mm: Correct vmflag test for checking VM_HUGETLB
    x86, amd: Disable way access filter on Piledriver CPUs
    x86/mce: Do not change worker's running cpu in cmci_rediscover().
    x86/ce4100: Fix PCI configuration register access for devices without interrupts
    x86/ce4100: Fix reboot by forcing the reboot method to be KBD
    x86/ce4100: Fix pm_poweroff
    MAINTAINERS: Update email address for Robert Richter
    x86, microcode_amd: Change email addresses, MAINTAINERS entry
    MAINTAINERS: Change Boris' email address
    EDAC: Change Boris' email address
    x86, AMD: Change Boris' email address

    Linus Torvalds
     
  • Pull MTD fixes from David Woodhouse:
    "The most important part of this is that it fixes a regression in
    Samsung NAND chip detection, introduced by some rework which went into
    3.7. The initial fix wasn't quite complete, so it's in two parts. In
    fact the first part is committed twice (Artem committed his own copy
    of the same patch) and I've merged Artem's tree into mine which
    already had that fix.

    I'd have recommitted that to make it somewhat cleaner, but figured by
    this point in the release cycle it was better to merge *exactly* the
    commits which have been in linux-next.

    If I'd recommitted, I'd also omit the sparse warning fix. But it's
    there, and it's harmless — just marking one function as 'static' in
    onenand code.

    This also includes a couple more fixes for stable: an AB-BA deadlock
    in JFFS2, and an invalid range check in slram."

    * tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6:
    mtd: nand: fix Samsung SLC detection regression
    mtd: nand: fix Samsung SLC NAND identification regression
    jffs2: Fix lock acquisition order bug in jffs2_write_begin
    mtd: onenand: Make flexonenand_set_boundary static
    mtd: slram: invalid checking of absolute end address
    mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions()
    mtd: nand: fix Samsung SLC NAND identification regression

    Linus Torvalds
     
  • Pull device tree regression fix from Grant Likely:
    "Simple build regression fix for DT device drivers on Sparc. An
    earlier change had masked out the of_iomap() helper on SPARC."

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    of/address: sparc: Declare of_iomap as an extern function for sparc again

    Linus Torvalds
     
  • Pull power management update from Rafael Wysocki:
    "Fix for an incorrect error condition check in device PM QoS code that
    may lead to an Oops from Guennadi Liakhovetski."

    * tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / QoS: fix wrong error-checking condition

    Linus Torvalds
     
  • Pull md fixes from NeilBrown:
    "Several bug fixes for md in 3.7:

    - raid5 discard has problems
    - raid10 replacement devices have problems
    - bad block lock seqlock usage has problems
    - dm-raid doesn't free everything"

    * tag 'md-3.7-fixes' of git://neil.brown.name/md:
    md/raid10: decrement correct pending counter when writing to replacement.
    md/raid10: close race that lose writes lost when replacement completes.
    md/raid5: Make sure we clear R5_Discard when discard is finished.
    md/raid5: move resolving of reconstruct_state earlier in stripe_handle.
    md/raid5: round discard alignment up to power of 2.
    md: make sure everything is freed when dm-raid stops an array.
    md: Avoid write invalid address if read_seqretry returned true.
    md: Reassigned the parameters if read_seqretry returned true in func md_is_badblock.

    Linus Torvalds
     
  • Pull block layer fixes from Jens Axboe:
    "Distilled down version of bug fixes for 3.7. The patches have been
    well tested. If you notice that commit dates are from today, it's
    because I pulled less important bits out and shuffled them into the
    3.8 mix. Apart from that, no changes, base still the same.

    It contains:

    - Fix for aoe, don't run request_fn while it's plugged.

    - Fix for a regression in floppy since 3.6, which causes problems if
    no floppy is found.

    - Stable fix for blk_exec(), don't touch a request after it has been
    sent to the scheduler (and the device as well).

    - Five fixes for various nasties in mtip32xx."

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: Don't access request after it might be freed
    mtip32xx: Fix padding issue
    aoe: avoid running request handler on plugged queue
    mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()
    mtip32xx: fix shift larger than type warning
    mtip32xx: Fix incorrect mask used for erase mode
    mtip32xx: Fix to make lba address correct in big-endian systems
    mtip32xx: fix potential crash on SEC_ERASE_UNIT
    dm: fix deadlock with request based dm and queue request_fn recursion
    floppy: destroy floppy workqueue before cleaning up the queue

    Linus Torvalds
     
  • This bug-fix makes sure that of_iomap is defined extern for sparc so that the
    sparc-specific implementation of_iomap is once again used when including
    include/linux/of_address.h in a sparc context. OF_GPIO that is now available for
    sparc relies on this.

    The bug was inadvertently introduced in a850a75, "of/address: add empty static
    inlines for !CONFIG_OF", that added a static dummy inline for of_iomap when
    !CONFIG_OF_ADDRESS. However, CONFIG_OF_ADDRESS is never defined for sparc, but
    there is a sparc-specific implementation /arch/sparc/kernel/of_device_common.c.

    This fix takes the same approach as 0bce04b that solved the equivalent problem
    for of_address_to_resource.

    Signed-off-by: Andreas Larsson
    Acked-by: David Miller
    Signed-off-by: Grant Likely

    Andreas Larsson
     
  • Pull omapdss fixes from Tomi Valkeinen:
    "Here are a few OMAPDSS fixes for the next -rc. I'm sending these
    directly to you, and quite late, as the fbdev tree maintainer
    (Florian) has been busy with his work and hasn't had time to manage
    the fb patches."

    * tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux:
    OMAPDSS: do not fail if dpll4_m4_ck is missing
    OMAPFB: Fix possible null pointer dereferencing
    OMAPDSS: HDMI: fix missing unlock on error in hdmi_dump_regs()
    omapdss: dss: Fix clocks on OMAP363x
    OMAPDSS: DSI: fix dsi_get_dsidev_from_id()

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Bugfixes for the i2c subsystem.

    Except for a few one-liners, there is mainly one revert because of an
    overlooked dependency. Since there is no linux-next at the moment, I
    did some extra testing, and all was fine for me."

    * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
    i2c: mxs: Handle i2c DMA failure properly
    i2c: s3c2410: Fix code to free gpios
    i2c: omap: ensure writes to dev->buf_len are ordered
    Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints"
    i2c: at91: fix SMBus quick command

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "The highlight of this update is the fixes for ASoC kirkwood by
    Russell. In addition to that, a couple of regression fixes for
    HD-audio due to the runtime PM support on 3.7, and other driver-
    specific regression fixes like USB MIDI on non-standard USB audio
    drivers."

    * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: snd-usb: properly initialize the sync endpoint
    ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker
    ALSA: hda - Add support for Realtek ALC292
    ASoC: kirkwood-i2s: more pause-mode fixes
    ASoC: kirkwood-i2s: fix DMA underruns
    ASoC: kirkwood-i2s: fix DCO lock detection
    ASoC: kirkwood-dma: don't ignore other irq causes on error
    ASoC: kirkwood-dma: fix use of virt_to_phys()
    ALSA: hda - Limit runtime PM support only to known Intel chips
    ALSA: hda - Fix recursive suspend/resume call
    ALSA: ua101, usx2y: fix broken MIDI output
    ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[]
    ASoC: bells: Fix up git patch application failure
    ASoC: cs4271: free allocated GPIO

    Linus Torvalds
     
  • Pull networkign fixes from David Miller:
    "Networking bug fixes, Cacio e Pepe edition:

    1) BNX2X accidently accesses chip rev specific registers without an
    appropriate guard, fix from Ariel Elior.

    2) When we removed the routing cache, we set ip_rt_max_size to ~0 just
    to keep reporting a value to userspace via sysfs. But the ipv4
    IPSEC layer was using this to tune itself which is completely bogus
    to now do. Fix from Steffen Klassert.

    3) Missing initialization in netfilter ipset code from Jozsef
    Kadlecsik.

    4) Check CTA_TIMEOUT_NAME length properly in netfilter cttimeout code,
    fix from Florian Westphal.

    5) After removing the routing cache, we inadvertantly are caching
    multicast routes that end up looping back locally, we cannot do
    that legitimately any more. Fix from Julian Anastasov.

    6) Revert a race fix for 8139cp qemu/kvm that doesn't actually work
    properly on real hardware. From Francois Romieu.

    7) Fixup errors in example command lines in VXLAN device docs."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    bnx2x: remove redundant warning log
    vxlan: fix command usage in its doc
    8139cp: revert "set ring address before enabling receiver"
    ipv4: do not cache looped multicasts
    netfilter: cttimeout: fix buffer overflow
    netfilter: ipset: Fix range bug in hash:ip,port,net
    xfrm: Fix the gc threshold value for ipv4

    Linus Torvalds
     
  • Pull sparc fix from David Miller:
    "Bug fix from Al Viro"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

    Linus Torvalds
     
  • Pull one more ARM SoC fix from Olof Johansson:
    "I missed one pull request from Samsung with one fix in the previous
    batch. Here it is -- a dma driver fix for an early version of silicon
    that they still support."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC

    Linus Torvalds
     
  • dev_pm_qos_add_request() can return 0, 1, or a negative error code,
    therefore the correct error test is "if (error < 0)." Checking just for
    non-zero return code leads to erroneous setting of the req->dev pointer
    to NULL, which then leads to a repeated call to
    dev_pm_qos_add_ancestor_request() in st1232_ts_irq_handler(). This in turn
    leads to an Oops, when the I2C host adapter is unloaded and reloaded again
    because of the inconsistent state of its QoS request list.

    Signed-off-by: Guennadi Liakhovetski
    Cc:
    Signed-off-by: Rafael J. Wysocki

    Guennadi Liakhovetski
     
  • fix bug where a register which was only meant to be read in 578xx/57712
    devices causes a bogus error message to be logged when read from other
    devices.

    Signed-off-by: Ariel Elior
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Ariel Elior
     
  • Some commands don't work in its example doc. The patch will fix it.

    Signed-off-by: Zhi Yong Wu
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.

    The original patch was tested with emulated hardware. Real
    hardware chokes.

    Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041

    Signed-off-by: Francois Romieu
    Acked-by: Jeff Garzik
    Signed-off-by: David S. Miller

    françois romieu
     
  • Since 4.4 GCC on MIPS no longer recognizes the "h" constraint,
    leading to this build failure:

    CC lib/mpi/generic_mpih-mul1.o
    lib/mpi/generic_mpih-mul1.c: In function 'mpihelp_mul_1':
    lib/mpi/generic_mpih-mul1.c:50:3: error: impossible constraint in 'asm'

    This patch updates MPI with the latest umul_ppm implementations for MIPS.

    Signed-off-by: Manuel Lauss
    Cc: Linux-MIPS
    Cc: Dmitry Kasatkin
    Cc: James Morris
    Patchwork: https://patchwork.linux-mips.org/patch/4612/
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     
  • A recent patch changed some irq routines from inlines to functions.
    These routines are called by the tracer code. Now that they're functions,
    if they are compiled for function tracing they will call the tracer
    and crash the system due to infinite recursion. The fix disables
    tracing in these functions by using "notrace" in the function
    definition.

    Signed-off-by: Al Cooper
    Reviewed-by: David Daney
    Pathchwork: https://patchwork.linux-mips.org/patch/4564/
    Signed-off-by: Ralf Baechle

    Al Cooper
     
  • Without this, we may end up with something like this in /proc/iomem:

    01100000-014fffff : System RAM
    01100000-013bf48f : Kernel code
    013bf490-0149e01f : Kernel data
    01500000-0c0fffff : System RAM

    but the two System RAM ranges should be one single range. This particular
    case will result in kexec failure on Octeon systems if the kernel being
    loaded by kexec is bigger than the already running kernel.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

23 Nov, 2012

12 commits

  • After we've done __elv_add_request() and __blk_run_queue() in
    blk_execute_rq_nowait(), the request might finish and be freed
    immediately. Therefore checking if the type is REQ_TYPE_PM_RESUME
    isn't safe afterwards, because if it isn't, rq might be gone.
    Instead, check beforehand and stash the result in a temporary.

    This fixes crashes in blk_execute_rq_nowait() I get occasionally when
    running with lots of memory debugging options enabled -- I think this
    race is usually harmless because the window for rq to be reallocated
    is so small.

    Signed-off-by: Roland Dreier
    Cc: stable@kernel.org
    Signed-off-by: Jens Axboe

    Roland Dreier
     
  • Hi Jens,

    Another tiny patch.

    Removed __packed before the struct smart_attr and added __packed at end of
    the structure to fix padding issue.

    Signed-off-by: Selvan Mani
    Signed-off-by: Asai Thambi S P
    Signed-off-by: Jens Axboe

    Selvan Mani
     
  • Calling the request handler directly on a plugged queue defeats
    the performance improvements provided by the plugging mechanism.
    Use the __blk_run_queue function instead of calling the request
    handler directly, so that we don't interfere with the block
    layer's ability to plug the queue.

    Signed-off-by: Ed Cashin
    Signed-off-by: Jens Axboe

    Ed Cashin
     
  • The dereference to port should be moved below the NULL test.

    dpatch engine is used to auto generate this patch.
    (https://github.com/weiyj/dpatch)

    Signed-off-by: Wei Yongjun
    Signed-off-by: Jens Axboe

    Wei Yongjun
     
  • If we're building a 32-bit kernel and CONFIG_LBADF isn't set,
    sector_t is 32-bits wide. The shifts by 32 and 40 are thus
    larger than we support.

    Cast the sector offset to a u64 to avoid these warnings.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Previous commit use value 3 for erasemode mask.
    Changing the mask to correct value to 2

    Signed-off-by: Selvan Mani
    Signed-off-by: Asai Thambi S P
    Signed-off-by: Jens Axboe

    Selvan Mani
     
  • Earlier lba address was assigned directly to lba_low and lba_low_ex,
    which would result in a different number (bytes reversed) in
    big-endian systems. Now assigning lba address byte-by-byte to fis.

    Reported-by: Dan Carpenter
    Signed-off-by: Selvan Mani
    Signed-off-by: Asai Thambi S P
    Signed-off-by: Jens Axboe

    Selvan Mani
     
  • The mtip driver lifted this code from elsewhere and then added a special
    handling check for SEC_ERASE_UNIT. If the caller tries to do a security
    erase but passes no output data for the command then outbuf is not
    allocated and the driver duly explodes.

    Reported-by: Dan Carpenter
    Signed-off-by: Alan Cox
    Signed-off-by: Selvan Mani
    Signed-off-by: Asai Thambi S P
    Signed-off-by: Jens Axboe

    Selvan Mani
     
  • Request based dm attempts to re-run the request queue off the
    request completion path. If used with a driver that potentially does
    end_io from its request_fn, we could deadlock trying to recurse
    back into request dispatch. Fix this by punting the request queue
    run to kblockd.

    Tested to fix a quickly reproducible deadlock in such a scenario.

    Cc: stable@kernel.org
    Acked-by: Alasdair G Kergon
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • We need to first destroy the floppy_wq workqueue before cleaning up
    the queue. Otherwise we might race with still pending work with the
    workqueue, but all the block queue already gone. This might lead to
    various oopses, such as

    CPU 0
    Pid: 6, comm: kworker/u:0 Not tainted 3.7.0-rc4 #1 Bochs Bochs
    RIP: 0010:[] [] blk_peek_request+0xd5/0x1c0
    RSP: 0000:ffff88000dc7dd88 EFLAGS: 00010092
    RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: ffff88000f602688 RSI: ffffffff81fd95d8 RDI: 6b6b6b6b6b6b6b6b
    RBP: ffff88000dc7dd98 R08: ffffffff81fd95c8 R09: 0000000000000000
    R10: ffffffff81fd9480 R11: 0000000000000001 R12: 6b6b6b6b6b6b6b6b
    R13: ffff88000dc7dfd8 R14: ffff88000dc7dfd8 R15: 0000000000000000
    FS: 0000000000000000(0000) GS:ffffffff81e21000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000000 CR3: 0000000001e11000 CR4: 00000000000006f0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process kworker/u:0 (pid: 6, threadinfo ffff88000dc7c000, task ffff88000dc5ecc0)
    Stack:
    0000000000000000 0000000000000000 ffff88000dc7ddb8 ffffffff8134efee
    ffff88000dc7ddb8 0000000000000000 ffff88000dc7dde8 ffffffff814aef3c
    ffffffff81e75d80 ffff88000dc0c640 ffff88000fbfb000 ffffffff814aed90
    Call Trace:
    [] blk_fetch_request+0xe/0x30
    [] redo_fd_request+0x1ac/0x400
    [] ? start_motor+0x130/0x130
    [] process_one_work+0x136/0x450
    [] ? manage_workers+0x205/0x2e0
    [] worker_thread+0x14d/0x420
    [] ? rescuer_thread+0x1a0/0x1a0
    [] kthread+0xba/0xc0
    [] ? __kthread_parkme+0x80/0x80
    [] ret_from_fork+0x7a/0xb0
    [] ? __kthread_parkme+0x80/0x80
    Code: 0f 84 c0 00 00 00 83 f8 01 0f 85 e2 00 00 00 81 4b 40 00 00 80 00 48 89 df e8 58 f8 ff ff be fb ff ff ff
    fe ff ff 8b 1c 24 49 39 dc 0f 85 2e ff ff ff 41 0f b6 84 24 28 04 00
    RIP [] blk_peek_request+0xd5/0x1c0
    RSP

    Reported-by: Fengguang Wu
    Tested-by: Fengguang Wu
    Signed-off-by: Jiri Kosina
    Signed-off-by: Jens Axboe

    Jiri Kosina
     
  • Pull input updates from Dmitry Torokhov:
    "This fixes recent regression where /dev/input/mice got assigned wrong
    device node which messed up setups with static /dev, and a regression
    in ads7846 GPIO debounce setup."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    ARM - OMAP: ads7846: fix pendown debounce setting
    Input: ads7846 - enable pendown GPIO debounce time setting
    Input: mousedev - move /dev/input/mice to the correct minor
    Input: MT - document new 'flags' argument of input_mt_init_slots()

    Linus Torvalds
     
  • …/git/kgene/linux-samsung into fixes

    From Kukjin Kim:

    Here is Samsung fixes for v3.7 and it is for fixing of mdma1 address
    for exynos4210 rev0 SoC.

    * 'v3.7-samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson