04 Oct, 2013

2 commits

  • The tasklet and irqhandler are using spin_lock while other routines are
    using spin_lock_irqsave/restore. This leads to lockdep issues as
    described bellow. This patch is changing the code to use
    spinlock_irq_save/restore in both code pathes.

    As imxdma_xfer_desc always gets called with spin_lock_irqsave lock held,
    this patch also removes the spare call inside the routine to avoid
    double locking.

    [ 403.358162] =================================
    [ 403.362549] [ INFO: inconsistent lock state ]
    [ 403.366945] 3.10.0-20130823+ #904 Not tainted
    [ 403.371331] ---------------------------------
    [ 403.375721] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
    [ 403.381769] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
    [ 403.386762] (&(&imxdma->lock)->rlock){?.-...}, at: [] imxdma_tasklet+0x20/0x134
    [ 403.395201] {IN-HARDIRQ-W} state was registered at:
    [ 403.400108] [] mark_lock+0x2a0/0x6b4
    [ 403.404798] [] __lock_acquire+0x650/0x1a64
    [ 403.410004] [] lock_acquire+0x94/0xa8
    [ 403.414773] [] _raw_spin_lock+0x54/0x8c
    [ 403.419720] [] dma_irq_handler+0x78/0x254
    [ 403.424845] [] handle_irq_event_percpu+0x38/0x1b4
    [ 403.430670] [] handle_irq_event+0x44/0x64
    [ 403.435789] [] handle_level_irq+0xd8/0xf0
    [ 403.440903] [] generic_handle_irq+0x28/0x38
    [ 403.446194] [] handle_IRQ+0x68/0x8c
    [ 403.450789] [] avic_handle_irq+0x3c/0x48
    [ 403.455811] [] __irq_svc+0x44/0x74
    [ 403.460314] [] cpu_startup_entry+0x88/0xf4
    [ 403.465525] [] rest_init+0xb8/0xe0
    [ 403.470045] [] start_kernel+0x28c/0x2d4
    [ 403.474986] [] 0xa0008040
    [ 403.478709] irq event stamp: 50854
    [ 403.482140] hardirqs last enabled at (50854): [] tasklet_action+0x38/0xdc
    [ 403.489954] hardirqs last disabled at (50853): [] tasklet_action+0x20/0xdc
    [ 403.497761] softirqs last enabled at (50850): [] _local_bh_enable+0x14/0x18
    [ 403.505741] softirqs last disabled at (50851): [] irq_exit+0x88/0xdc
    [ 403.513026]
    [ 403.513026] other info that might help us debug this:
    [ 403.519593] Possible unsafe locking scenario:
    [ 403.519593]
    [ 403.525548] CPU0
    [ 403.528020] ----
    [ 403.530491] lock(&(&imxdma->lock)->rlock);
    [ 403.534828]
    [ 403.537474] lock(&(&imxdma->lock)->rlock);
    [ 403.541983]
    [ 403.541983] *** DEADLOCK ***
    [ 403.541983]
    [ 403.547951] no locks held by swapper/0.
    [ 403.551813]
    [ 403.551813] stack backtrace:
    [ 403.556222] CPU: 0 PID: 0 Comm: swapper Not tainted 3.10.0-20130823+ #904
    [ 403.563039] Backtrace:
    [ 403.565581] [] (dump_backtrace+0x0/0x10c) from [] (show_stack+0x18/0x1c)
    [ 403.574054] r6:00000000 r5:c05c51d8 r4:c040bd58 r3:00200000
    [ 403.579872] [] (show_stack+0x0/0x1c) from [] (dump_stack+0x20/0x28)
    [ 403.587955] [] (dump_stack+0x0/0x28) from [] (print_usage_bug.part.28+0x224/0x28c)
    [ 403.597340] [] (print_usage_bug.part.28+0x0/0x28c) from [] (mark_lock+0x440/0x6b4)
    [ 403.606682] r8:c004a41c r7:00000000 r6:c040bd58 r5:c040c040 r4:00000002
    [ 403.613566] [] (mark_lock+0x0/0x6b4) from [] (__lock_acquire+0x6cc/0x1a64)
    [ 403.622244] [] (__lock_acquire+0x0/0x1a64) from [] (lock_acquire+0x94/0xa8)
    [ 403.631010] [] (lock_acquire+0x0/0xa8) from [] (_raw_spin_lock+0x54/0x8c)
    [ 403.639614] [] (_raw_spin_lock+0x0/0x8c) from [] (imxdma_tasklet+0x20/0x134)
    [ 403.648434] r6:c3847010 r5:c040e890 r4:c38470d4
    [ 403.653194] [] (imxdma_tasklet+0x0/0x134) from [] (tasklet_action+0x8c/0xdc)
    [ 403.662013] r8:c0599160 r7:00000000 r6:00000000 r5:c040e890 r4:c3847114 r3:c019d75c
    [ 403.670042] [] (tasklet_action+0x0/0xdc) from [] (__do_softirq+0xe4/0x1f0)
    [ 403.678687] r7:00000101 r6:c0402000 r5:c059919c r4:00000001
    [ 403.684498] [] (__do_softirq+0x0/0x1f0) from [] (irq_exit+0x88/0xdc)
    [ 403.692652] [] (irq_exit+0x0/0xdc) from [] (handle_IRQ+0x6c/0x8c)
    [ 403.700514] r4:00000030 r3:00000110
    [ 403.704192] [] (handle_IRQ+0x0/0x8c) from [] (avic_handle_irq+0x3c/0x48)
    [ 403.712664] r5:c0403f28 r4:c0593ebc
    [ 403.716343] [] (avic_handle_irq+0x0/0x48) from [] (__irq_svc+0x44/0x74)
    [ 403.724733] Exception stack(0xc0403f28 to 0xc0403f70)
    [ 403.729841] 3f20: 00000001 00000004 00000000 20000013 c0402000 c04104a8
    [ 403.738078] 3f40: 00000002 c0b69620 a0004000 41069264 a03fb5f4 c0403f7c c0403f40 c0403f70
    [ 403.746301] 3f60: c004b92c c0009e74 20000013 ffffffff
    [ 403.751383] r6:ffffffff r5:20000013 r4:c0009e74 r3:c004b92c
    [ 403.757210] [] (arch_cpu_idle+0x0/0x4c) from [] (cpu_startup_entry+0x88/0xf4)
    [ 403.766161] [] (cpu_startup_entry+0x0/0xf4) from [] (rest_init+0xb8/0xe0)
    [ 403.774753] [] (rest_init+0x0/0xe0) from [] (start_kernel+0x28c/0x2d4)
    [ 403.783051] r6:c03fc484 r5:ffffffff r4:c040a0e0
    [ 403.787797] [] (start_kernel+0x0/0x2d4) from [] (0xa0008040)

    Signed-off-by: Michael Grzeschik
    Signed-off-by: Vinod Koul

    Michael Grzeschik
     
  • When perparing cyclic_dma buffers by the sound layer, it will dump the
    following lockdep trace. The leading snd_pcm_action_single get called
    with read_lock_irq called. To fix this, we change the kcalloc call from
    GFP_KERNEL to GFP_ATOMIC.

    WARNING: at kernel/lockdep.c:2740 lockdep_trace_alloc+0xcc/0x114()
    DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
    Modules linked in:
    CPU: 0 PID: 832 Comm: aplay Not tainted 3.11.0-20130823+ #903
    Backtrace:
    [] (dump_backtrace+0x0/0x10c) from [] (show_stack+0x18/0x1c)
    r6:c004c090 r5:00000009 r4:c2e0bd18 r3:00404000
    [] (show_stack+0x0/0x1c) from [] (dump_stack+0x20/0x28)
    [] (dump_stack+0x0/0x28) from [] (warn_slowpath_common+0x54/0x70)
    [] (warn_slowpath_common+0x0/0x70) from [] (warn_slowpath_fmt+0x38/0x40)
    r8:00004000 r7:a3b90000 r6:000080d0 r5:60000093 r4:c2e0a000 r3:00000009
    [] (warn_slowpath_fmt+0x0/0x40) from [] (lockdep_trace_alloc+0xcc/0x114)
    r3:c03955d8 r2:c03907db
    [] (lockdep_trace_alloc+0x0/0x114) from [] (__kmalloc+0x34/0x118)
    r6:000080d0 r5:c3800120 r4:000080d0 r3:c040a0f8
    [] (__kmalloc+0x0/0x118) from [] (imxdma_prep_dma_cyclic+0x64/0x168)
    r7:a3b90000 r6:00000004 r5:c39d8420 r4:c3847150
    [] (imxdma_prep_dma_cyclic+0x0/0x168) from [] (snd_dmaengine_pcm_trigger+0xa8/0x160)
    [] (snd_dmaengine_pcm_trigger+0x0/0x160) from [] (soc_pcm_trigger+0x90/0xb4)
    r8:c058c7b0 r7:c3b8140c r6:c39da560 r5:00000001 r4:c3b81000
    [] (soc_pcm_trigger+0x0/0xb4) from [] (snd_pcm_do_start+0x2c/0x38)
    r7:00000000 r6:00000003 r5:c058c7b0 r4:c3b81000
    [] (snd_pcm_do_start+0x0/0x38) from [] (snd_pcm_action_single+0x40/0x6c)
    [] (snd_pcm_action_single+0x0/0x6c) from [] (snd_pcm_action_lock_irq+0x7c/0x9c)
    r7:00000003 r6:c3b810f0 r5:c3b810f0 r4:c3b81000
    [] (snd_pcm_action_lock_irq+0x0/0x9c) from [] (snd_pcm_common_ioctl1+0x7f8/0xfd0)
    r8:c3b7f888 r7:005407b8 r6:c2c991c0 r5:c3b81000 r4:c3b81000 r3:00004142
    [] (snd_pcm_common_ioctl1+0x0/0xfd0) from [] (snd_pcm_playback_ioctl1+0x464/0x488)
    [] (snd_pcm_playback_ioctl1+0x0/0x488) from [] (snd_pcm_playback_ioctl+0x34/0x40)
    r8:c3b7f888 r7:00004142 r6:00000004 r5:c2c991c0 r4:005407b8
    [] (snd_pcm_playback_ioctl+0x0/0x40) from [] (vfs_ioctl+0x30/0x44)
    [] (vfs_ioctl+0x0/0x44) from [] (do_vfs_ioctl+0x55c/0x5c0)
    [] (do_vfs_ioctl+0x0/0x5c0) from [] (SyS_ioctl+0x40/0x68)
    [] (SyS_ioctl+0x0/0x68) from [] (ret_fast_syscall+0x0/0x44)
    r8:c0009544 r7:00000036 r6:bedeaa58 r5:00000000 r4:000000c0

    Signed-off-by: Michael Grzeschik
    Signed-off-by: Vinod Koul

    Michael Grzeschik
     

17 Sep, 2013

4 commits

  • The TI_EDMA driver unconditionally calls functions provided by the
    TI_PRIV_EDMA code, but it doesn't force that to be built-in. If that isn't
    otherwise enabled somewhere, you can get build errors like:

    linux-3.12.0-0.rc0.git1.1.fc21.armv7hl/drivers/dma/edma.c:593: undefined reference to `edma_free_slot'
    drivers/built-in.o: In function `edma_terminate_all':
    linux-3.12.0-0.rc0.git1.1.fc21.armv7hl/drivers/dma/edma.c:169: undefined reference to `edma_stop'
    drivers/built-in.o: In function `edma_execute':
    linux-3.12.0-0.rc0.git1.1.fc21.armv7hl/drivers/dma/edma.c:122: undefined reference to `edma_write_slot'
    linux-3.12.0-0.rc0.git1.1.fc21.armv7hl/drivers/dma/edma.c:149: undefined reference to `edma_link'
    linux-3.12.0-0.rc0.git1.1.fc21.armv7hl/drivers/dma/edma.c:152: undefined reference to `edma_start'

    Make TI_EDMA select TI_PRIV_EDMA to avoid this.

    Signed-off-by: Josh Boyer
    Acked-by: Matt Porter
    Signed-off-by: Vinod Koul

    Josh Boyer
     
  • Matt's @ti.com address bounces. Update the MODULE_AUTHOR information in
    edma.c to his Linaro address.

    Signed-off-by: Josh Boyer
    Acked-by: Matt Porter
    Signed-off-by: Vinod Koul

    Josh Boyer
     
  • Pull timer code update from Thomas Gleixner:
    - armada SoC clocksource overhaul with a trivial merge conflict
    - Minor improvements to various SoC clocksource drivers

    * 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource: armada-370-xp: Add detailed clock requirements in devicetree binding
    clocksource: armada-370-xp: Get reference fixed-clock by name
    clocksource: armada-370-xp: Replace WARN_ON with BUG_ON
    clocksource: armada-370-xp: Fix device-tree binding
    clocksource: armada-370-xp: Introduce new compatibles
    clocksource: armada-370-xp: Use CLOCKSOURCE_OF_DECLARE
    clocksource: armada-370-xp: Simplify TIMER_CTRL register access
    clocksource: armada-370-xp: Use BIT()
    ARM: timer-sp: Set dynamic irq affinity
    ARM: nomadik: add dynamic irq flag to the timer
    clocksource: sh_cmt: 32-bit control register support
    clocksource: em_sti: Convert to devm_* managed helpers

    Linus Torvalds
     
  • Pull UBI fixes from Artem Bityutskiy:
    "Just a single fastmap fix plus a regression fix"

    * tag 'upstream-3.12-rc1' of git://git.infradead.org/linux-ubi:
    UBI: Fix invalidate_fastmap()
    UBI: Fix PEB leak in wear_leveling_worker()

    Linus Torvalds
     

16 Sep, 2013

3 commits

  • Pull MIPS fixes from Ralf Baechle:
    "These are four patches for three construction sites:

    - Fix register decoding for the combination of multi-core processors
    and multi-threading.

    - Two more fixes that are part of the ongoing DECstation resurrection
    work. One of these touches a DECstation-only network driver.

    - Finally Markos' trivial build fix for the AP/SP support.

    (With this applied now all MIPS defconfigs are building again)"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: kernel: vpe: Make vpe_attrs an array of pointers.
    MIPS: Fix SMP core calculations when using MT support.
    MIPS: DECstation I/O ASIC DMA interrupt handling fix
    MIPS: DECstation HRT initialization rearrangement

    Linus Torvalds
     
  • Pull x86 platform updates from Matthew Garrett:
    "Nothing amazing here, almost entirely cleanups and minor bugfixes and
    one bit of hardware enablement in the amilo-rfkill driver"

    * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
    platform/x86: panasonic-laptop: reuse module_acpi_driver
    samsung-laptop: fix config build error
    platform: x86: remove unnecessary platform_set_drvdata()
    amilo-rfkill: Enable using amilo-rfkill with the FSC Amilo L1310.
    wmi: parse_wdg() should return kernel error codes
    hp_wmi: Fix unregister order in hp_wmi_rfkill_setup()
    platform: replace strict_strto*() with kstrto*()
    x86: irst: use module_acpi_driver to simplify the code
    x86: smartconnect: use module_acpi_driver to simplify the code
    platform samsung-q10: use ACPI instead of direct EC calls
    thinkpad_acpi: add the ability setting TPACPI_LED_NONE by quirk
    thinkpad_acpi: return -NODEV while operating uninitialized LEDs

    Linus Torvalds
     
  • Pull misc SCSI driver updates from James Bottomley:
    "This patch set is a set of driver updates (megaraid_sas, fnic, lpfc,
    ufs, hpsa) we also have a couple of bug fixes (sd out of bounds and
    ibmvfc error handling) and the first round of esas2r checker fixes and
    finally the much anticipated big endian additions for megaraid_sas"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (47 commits)
    [SCSI] fnic: fnic Driver Tuneables Exposed through CLI
    [SCSI] fnic: Kernel panic while running sh/nosh with max lun cfg
    [SCSI] fnic: Hitting BUG_ON(io_req->abts_done) in fnic_rport_exch_reset
    [SCSI] fnic: Remove QUEUE_FULL handling code
    [SCSI] fnic: On system with >1.1TB RAM, VIC fails multipath after boot up
    [SCSI] fnic: FC stat param seconds_since_last_reset not getting updated
    [SCSI] sd: Fix potential out-of-bounds access
    [SCSI] lpfc 8.3.42: Update lpfc version to driver version 8.3.42
    [SCSI] lpfc 8.3.42: Fixed issue of task management commands having a fixed timeout
    [SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.
    [SCSI] lpfc 8.3.42: Fix driver's abort loop functionality to skip IOs already getting aborted
    [SCSI] lpfc 8.3.42: Fixed failure to allocate SCSI buffer on PPC64 platform for SLI4 devices
    [SCSI] lpfc 8.3.42: Fix WARN_ON when driver unloads
    [SCSI] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute WQ/RQ pci bar selection
    [SCSI] lpfc 8.3.42: Fixed driver iocbq structure's iocb_flag field running out of space
    [SCSI] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logic
    [SCSI] lpfc 8.3.42: Fixed logging format of setting driver sysfs attributes hard to interpret
    [SCSI] lpfc 8.3.42: Fixed back to back RSCNs discovery failure.
    [SCSI] lpfc 8.3.42: Fixed race condition between BSG I/O dispatch and timeout handling
    [SCSI] lpfc 8.3.42: Fixed function mode field defined too small for not recognizing dual-chute mode
    ...

    Linus Torvalds
     

15 Sep, 2013

1 commit

  • Pull input update from Dmitry Torokhov:
    "The only change is David Hermann's new EVIOCREVOKE evdev ioctl that
    allows safely passing file descriptors to input devices to session
    processes and later being able to stop delivery of events through
    these fds so that inactive sessions will no longer receive user input
    that does not belong to them"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: evdev - add EVIOCREVOKE ioctl

    Linus Torvalds
     

14 Sep, 2013

2 commits

  • Pull hwmon fixes from Guenter Roeck:
    "Some more low risk cleanup patches:

    - Remove unnecessary pci_set_drvdata in k10temp driver from Jingoo Han
    - Fix return values in several drivers from Sachin Kamat
    - Remove redundant break in amc6821 driver from Sachin Kamat"

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (k10temp) remove unnecessary pci_set_drvdata()
    hwmon: (tmp421) Fix return value
    hwmon: (amc6821) Remove redundant break
    hwmon: (amc6821) Fix return value
    hwmon: (ibmaem) Fix return value
    hwmon: (emc2103) Fix return value

    Linus Torvalds
     
  • Pull aio changes from Ben LaHaise:
    "First off, sorry for this pull request being late in the merge window.
    Al had raised a couple of concerns about 2 items in the series below.
    I addressed the first issue (the race introduced by Gu's use of
    mm_populate()), but he has not provided any further details on how he
    wants to rework the anon_inode.c changes (which were sent out months
    ago but have yet to be commented on).

    The bulk of the changes have been sitting in the -next tree for a few
    months, with all the issues raised being addressed"

    * git://git.kvack.org/~bcrl/aio-next: (22 commits)
    aio: rcu_read_lock protection for new rcu_dereference calls
    aio: fix race in ring buffer page lookup introduced by page migration support
    aio: fix rcu sparse warnings introduced by ioctx table lookup patch
    aio: remove unnecessary debugging from aio_free_ring()
    aio: table lookup: verify ctx pointer
    staging/lustre: kiocb->ki_left is removed
    aio: fix error handling and rcu usage in "convert the ioctx list to table lookup v3"
    aio: be defensive to ensure request batching is non-zero instead of BUG_ON()
    aio: convert the ioctx list to table lookup v3
    aio: double aio_max_nr in calculations
    aio: Kill ki_dtor
    aio: Kill ki_users
    aio: Kill unneeded kiocb members
    aio: Kill aio_rw_vect_retry()
    aio: Don't use ctx->tail unnecessarily
    aio: io_cancel() no longer returns the io_event
    aio: percpu ioctx refcount
    aio: percpu reqs_available
    aio: reqs_active -> reqs_available
    aio: fix build when migration is disabled
    ...

    Linus Torvalds
     

13 Sep, 2013

12 commits

  • After the last architecture switched to generic hard irqs the config
    options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code
    for !CONFIG_GENERIC_HARDIRQS can be removed.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • This change complements commit d0da7c002f7b2a93582187a9e3f73891a01d8ee4
    and brings clear_ioasic_irq back, renaming it to clear_ioasic_dma_irq at
    the same time, to make I/O ASIC DMA interrupts functional.

    Unlike ordinary I/O ASIC interrupts DMA interrupts need to be deasserted
    by software by writing 0 to the respective bit in I/O ASIC's System
    Interrupt Register (SIR), similarly to how CP0.Cause.IP0 and CP0.Cause.IP1
    bits are handled in the CPU (the difference is SIR DMA interrupt bits are
    R/W0C so there's no need for an RMW cycle). Otherwise the handler is
    reentered over and over again.

    The only current user is the DEC LANCE Ethernet driver and its extremely
    uncommon DMA memory error handler that does not care when exactly the
    interrupt is cleared. Anticipating the use of DMA interrupts by the Zilog
    SCC driver this change however exports clear_ioasic_dma_irq for device
    drivers to choose the right application-specific sequence to clear the
    request explicitly rather than calling it implicitly in the .irq_eoi
    handler of `struct irq_chip'. Previously these interrupts were cleared in
    the .end handler of the said structure, before it was removed.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5826/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • Pull MIPS updates from Ralf Baechle:
    "This has been sitting in -next for a while with no objections and all
    MIPS defconfigs except one are building fine; that one platform got
    broken by another patch in your tree and I'm going to submit a patch
    separately.

    - a handful of fixes that didn't make 3.11
    - a few bits of Octeon 3 support with more to come for a later
    release
    - platform enhancements for Octeon, ath79, Lantiq, Netlogic and
    Ralink SOCs
    - a GPIO driver for the Octeon
    - some dusting off of the DECstation code
    - the usual dose of cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (65 commits)
    MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code
    MIPS: kexec: Fix random crashes while loading crashkernel
    MIPS: kdump: Skip walking indirection page for crashkernels
    MIPS: DECstation HRT calibration bug fixes
    MIPS: Export copy_from_user_page() (needed by lustre)
    MIPS: Add driver for the built-in PCI controller of the RT3883 SoC
    MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
    MIPS: ralink: Add support for reset-controller API
    MIPS: ralink: mt7620: Add cpu-feature-override header
    MIPS: ralink: mt7620: Add spi clock definition
    MIPS: ralink: mt7620: Add wdt clock definition
    MIPS: ralink: mt7620: Improve clock frequency detection
    MIPS: ralink: mt7620: This SoC has EHCI and OHCI hosts
    MIPS: ralink: mt7620: Add verbose ram info
    MIPS: ralink: Probe clocksources from OF
    MIPS: ralink: Add support for systick timer found on newer ralink SoC
    MIPS: ralink: Add support for periodic timer irq
    MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
    MIPS: Netlogic: Add support for USB on XLP2xx
    MIPS: Netlogic: XLP2xx update for I2C controller
    ...

    Linus Torvalds
     
  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity again this round for I/O performance optimizations
    (per-cpu IDA pre-allocation for vhost + iscsi/target), and the
    addition of new fabric independent features to target-core
    (COMPARE_AND_WRITE + EXTENDED_COPY).

    The main highlights include:

    - Support for iscsi-target login multiplexing across individual
    network portals
    - Generic Per-cpu IDA logic (kent + akpm + clameter)
    - Conversion of vhost to use per-cpu IDA pre-allocation for
    descriptors, SGLs and userspace page pointer list
    - Conversion of iscsi-target + iser-target to use per-cpu IDA
    pre-allocation for descriptors
    - Add support for generic COMPARE_AND_WRITE (AtomicTestandSet)
    emulation for virtual backend drivers
    - Add support for generic EXTENDED_COPY (CopyOffload) emulation for
    virtual backend drivers.
    - Add support for fast memory registration mode to iser-target (Vu)

    The patches to add COMPARE_AND_WRITE and EXTENDED_COPY support are of
    particular significance, which make us the first and only open source
    target to support the full set of VAAI primitives.

    Currently Linux clients are lacking upstream support to actually
    utilize these primitives. However, with server side support now in
    place for folks like MKP + ZAB working on the client, this logic once
    reserved for the highest end of storage arrays, can now be run in VMs
    on their laptops"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (50 commits)
    target/iscsi: Bump versions to v4.1.0
    target: Update copyright ownership/year information to 2013
    iscsi-target: Bump default TCP listen backlog to 256
    target: Fix >= v3.9+ regression in PR APTPL + ALUA metadata write-out
    iscsi-target; Bump default CmdSN Depth to 64
    iscsi-target: Remove unnecessary wait_for_completion in iscsi_get_thread_set
    iscsi-target: Add thread_set->ts_activate_sem + use common deallocate
    iscsi-target: Fix race with thread_pre_handler flush_signals + ISCSI_THREAD_SET_DIE
    target: remove unused including
    iser-target: introduce fast memory registration mode (FRWR)
    iser-target: generalize rdma memory registration and cleanup
    iser-target: move rdma wr processing to a shared function
    target: Enable global EXTENDED_COPY setup/release
    target: Add Third Party Copy (3PC) bit in INQUIRY response
    target: Enable EXTENDED_COPY setup in spc_parse_cdb
    target: Add support for EXTENDED_COPY copy offload emulation
    target: Avoid non-existent tg_pt_gp_mem in target_alua_state_check
    target: Add global device list for EXTENDED_COPY
    target: Make helpers non static for EXTENDED_COPY command setup
    target: Make spc_parse_naa_6h_vendor_specific non static
    ...

    Linus Torvalds
     
  • Merge more patches from Andrew Morton:
    "The rest of MM. Plus one misc cleanup"

    * emailed patches from Andrew Morton : (35 commits)
    mm/Kconfig: add MMU dependency for MIGRATION.
    kernel: replace strict_strto*() with kstrto*()
    mm, thp: count thp_fault_fallback anytime thp fault fails
    thp: consolidate code between handle_mm_fault() and do_huge_pmd_anonymous_page()
    thp: do_huge_pmd_anonymous_page() cleanup
    thp: move maybe_pmd_mkwrite() out of mk_huge_pmd()
    mm: cleanup add_to_page_cache_locked()
    thp: account anon transparent huge pages into NR_ANON_PAGES
    truncate: drop 'oldsize' truncate_pagecache() parameter
    mm: make lru_add_drain_all() selective
    memcg: document cgroup dirty/writeback memory statistics
    memcg: add per cgroup writeback pages accounting
    memcg: check for proper lock held in mem_cgroup_update_page_stat
    memcg: remove MEMCG_NR_FILE_MAPPED
    memcg: reduce function dereference
    memcg: avoid overflow caused by PAGE_ALIGN
    memcg: rename RESOURCE_MAX to RES_COUNTER_MAX
    memcg: correct RESOURCE_MAX to ULLONG_MAX
    mm: memcg: do not trap chargers with full callstack on OOM
    mm: memcg: rework and document OOM waiting and wakeup
    ...

    Linus Torvalds
     
  • We use NR_ANON_PAGES as base for reporting AnonPages to user. There's
    not much sense in not accounting transparent huge pages there, but add
    them on printing to user.

    Let's account transparent huge pages in NR_ANON_PAGES in the first place.

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Dave Hansen
    Cc: Andrea Arcangeli
    Cc: Al Viro
    Cc: Hugh Dickins
    Cc: Wu Fengguang
    Cc: Jan Kara
    Cc: Mel Gorman
    Cc: Andi Kleen
    Cc: Matthew Wilcox
    Cc: Hillf Danton
    Cc: Ning Qu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Pull vfs pile 4 from Al Viro:
    "list_lru pile, mostly"

    This came out of Andrew's pile, Al ended up doing the merge work so that
    Andrew didn't have to.

    Additionally, a few fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (42 commits)
    super: fix for destroy lrus
    list_lru: dynamically adjust node arrays
    shrinker: Kill old ->shrink API.
    shrinker: convert remaining shrinkers to count/scan API
    staging/lustre/libcfs: cleanup linux-mem.h
    staging/lustre/ptlrpc: convert to new shrinker API
    staging/lustre/obdclass: convert lu_object shrinker to count/scan API
    staging/lustre/ldlm: convert to shrinkers to count/scan API
    hugepage: convert huge zero page shrinker to new shrinker API
    i915: bail out earlier when shrinker cannot acquire mutex
    drivers: convert shrinkers to new count/scan API
    fs: convert fs shrinkers to new scan/count API
    xfs: fix dquot isolation hang
    xfs-convert-dquot-cache-lru-to-list_lru-fix
    xfs: convert dquot cache lru to list_lru
    xfs: rework buffer dispose list tracking
    xfs-convert-buftarg-lru-to-generic-code-fix
    xfs: convert buftarg LRU to generic code
    fs: convert inode and dentry shrinking to be node aware
    vmscan: per-node deferred work
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A small batch of fixes that have trickled in over the last week of the
    merge window.

    Also included are few small devicetree updates for sunxi, since it
    enables me to use one of their newer boards (cubieboard2) for
    additional test coverage. The support for that SoC is new for 3.12,
    so there's no exposure to new regressions due to it"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: sun7i: olinuxino-micro: Enable the EMAC
    ARM: dts: sun7i: cubieboard2: Enable the EMAC
    ARM: dts: sun7i: Add the muxing options for the EMAC
    ARM: dts: sun7i: Enable the Ethernet in the A20
    i2c: davinci: Fix bad dev_get_platdata() conversion
    ARM: vexpress: allow dcscb and tc2_pm in a combined ARMv6+v7 build
    ARM: shmobile: lager: Do not use register_type field of struct sh_eth_plat_data
    ARM: pxa: ssp: Check return values from phandle lookups
    ARM: PCI: versatile: Fix SMAP register offsets
    ARM: PCI: versatile: Fix PCI I/O
    ARM: PCI: versatile: Fix map_irq function to match hardware
    ARM: ep93xx: Don't use modem interface on the second UART
    ARM: shmobile: r8a7779: Update early timer initialisation order

    Linus Torvalds
     
  • Pull led updates from Bryan Wu:
    "Sorry for the late pull request, since I'm just back from vacation.

    LED subsystem updates for 3.12:
    - pca9633 driver DT supporting and pca9634 chip supporting
    - restore legacy device attributes for lp5521
    - other fixing and updates"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (28 commits)
    leds: wm831x-status: Request a REG resource
    leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback
    leds-pca963x: Fix device tree parsing
    leds-pca9633: Rename to leds-pca963x
    leds-pca9633: Add mutex to the ledout register
    leds-pca9633: Unique naming of the LEDs
    leds-pca9633: Add support for PCA9634
    leds: lp5562: use LP55xx common macros for device attributes
    Documentation: leds-lp5521,lp5523: update device attribute information
    leds: lp5523: remove unnecessary writing commands
    leds: lp5523: restore legacy device attributes
    leds: lp5523: LED MUX configuration on initializing
    leds: lp5523: make separate API for loading engine
    leds: lp5521: remove unnecessary writing commands
    leds: lp5521: restore legacy device attributes
    leds: lp55xx: add common macros for device attributes
    leds: lp55xx: add common data structure for program
    Documentation: leds: Fix a typo
    leds: ss4200: Fix incorrect placement of __initdata
    leds: clevo-mail: Fix incorrect placement of __initdata
    ...

    Linus Torvalds
     
  • Pull IOMMU Updates from Joerg Roedel:
    "This round the updates contain:

    - A new driver for the Freescale PAMU IOMMU from Varun Sethi.

    This driver has cooked for a while and required changes to the
    IOMMU-API and infrastructure that were already merged before.

    - Updates for the ARM-SMMU driver from Will Deacon

    - Various fixes, the most important one is probably a fix from Alex
    Williamson for a memory leak in the VT-d page-table freeing code

    In summary not all that much. The biggest part in the diffstat is the
    new PAMU driver"

    * tag 'iommu-updates-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    intel-iommu: Fix leaks in pagetable freeing
    iommu/amd: Fix resource leak in iommu_init_device()
    iommu/amd: Clean up unnecessary MSI/MSI-X capability find
    iommu/arm-smmu: Simplify VMID and ASID allocation
    iommu/arm-smmu: Don't use VMIDs for stage-1 translations
    iommu/arm-smmu: Tighten up global fault reporting
    iommu/arm-smmu: Remove broken big-endian check
    iommu/fsl: Remove unnecessary 'fsl-pamu' prefixes
    iommu/fsl: Fix whitespace problems noticed by git-am
    iommu/fsl: Freescale PAMU driver and iommu implementation.
    iommu/fsl: Add additional iommu attributes required by the PAMU driver.
    powerpc: Add iommu domain pointer to device archdata
    iommu/exynos: Remove dead code (set_prefbuf)

    Linus Torvalds
     
  • …linux/kernel/git/xen/tip

    Pull Xen balloon driver bug-fixes from Stefano Stabellini:
    - fix a preemption bug in xen/balloon.c;
    - remove an harmful BUG_ON in xen/balloon.c that can trigger in
    non-erroneous situations.

    * tag 'stable/for-linus-3.12-rc0-tag-three' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/balloon: remove BUG_ON in increase_reservation
    xen/balloon: ensure preemption is disabled when using a scratch page

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:
    "All of these commits are fixes that have emerged recently and some of
    them fix bugs introduced during this merge window.

    Specifics:

    1) ACPI-based PCI hotplug (ACPIPHP) fixes related to spurious events

    After the recent ACPIPHP changes we've seen some interesting
    breakage on a system that triggers device check notifications
    during boot for non-existing devices. Although those
    notifications are really spurious, we should be able to deal with
    them nevertheless and that shouldn't introduce too much overhead.
    Four commits to make that work properly.

    2) Memory hotplug and hibernation mutual exclusion rework

    This was maent to be a cleanup, but it happens to fix a classical
    ABBA deadlock between system suspend/hibernation and ACPI memory
    hotplug which is possible if they are started roughly at the same
    time. Three commits rework memory hotplug so that it doesn't
    acquire pm_mutex and make hibernation use device_hotplug_lock
    which prevents it from racing with memory hotplug.

    3) ACPI Intel LPSS (Low-Power Subsystem) driver crash fix

    The ACPI LPSS driver crashes during boot on Apple Macbook Air with
    Haswell that has slightly unusual BIOS configuration in which one
    of the LPSS device's _CRS method doesn't return all of the
    information expected by the driver. Fix from Mika Westerberg, for
    stable.

    4) ACPICA fix related to Store->ArgX operation

    AML interpreter fix for obscure breakage that causes AML to be
    executed incorrectly on some machines (observed in practice).
    From Bob Moore.

    5) ACPI core fix for PCI ACPI device objects lookup

    There still are cases in which there is more than one ACPI device
    object matching a given PCI device and we don't choose the one
    that the BIOS expects us to choose, so this makes the lookup take
    more criteria into account in those cases.

    6) Fix to prevent cpuidle from crashing in some rare cases

    If the result of cpuidle_get_driver() is NULL, which can happen on
    some systems, cpuidle_driver_ref() will crash trying to use that
    pointer and the Daniel Fu's fix prevents that from happening.

    7) cpufreq fixes related to CPU hotplug

    Stephen Boyd reported a number of concurrency problems with
    cpufreq related to CPU hotplug which are addressed by a series of
    fixes from Srivatsa S Bhat and Viresh Kumar.

    8) cpufreq fix for time conversion in time_in_state attribute

    Time conversion carried out by cpufreq when user space attempts to
    read /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state
    won't work correcty if cputime_t doesn't map directly to jiffies.
    Fix from Andreas Schwab.

    9) Revert of a troublesome cpufreq commit

    Commit 7c30ed5 (cpufreq: make sure frequency transitions are
    serialized) was intended to address some known concurrency
    problems in cpufreq related to the ordering of transitions, but
    unfortunately it introduced several problems of its own, so I
    decided to revert it now and address the original problems later
    in a more robust way.

    10) Intel Haswell CPU models for intel_pstate from Nell Hardcastle.

    11) cpufreq fixes related to system suspend/resume

    The recent cpufreq changes that made it preserve CPU sysfs
    attributes over suspend/resume cycles introduced a possible NULL
    pointer dereference that caused it to crash during the second
    attempt to suspend. Three commits from Srivatsa S Bhat fix that
    problem and a couple of related issues.

    12) cpufreq locking fix

    cpufreq_policy_restore() should acquire the lock for reading, but
    it acquires it for writing. Fix from Lan Tianyu"

    * tag 'pm+acpi-fixes-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)
    cpufreq: Acquire the lock in cpufreq_policy_restore() for reading
    cpufreq: Prevent problems in update_policy_cpu() if last_cpu == new_cpu
    cpufreq: Restructure if/else block to avoid unintended behavior
    cpufreq: Fix crash in cpufreq-stats during suspend/resume
    intel_pstate: Add Haswell CPU models
    Revert "cpufreq: make sure frequency transitions are serialized"
    cpufreq: Use signed type for 'ret' variable, to store negative error values
    cpufreq: Remove temporary fix for race between CPU hotplug and sysfs-writes
    cpufreq: Synchronize the cpufreq store_*() routines with CPU hotplug
    cpufreq: Invoke __cpufreq_remove_dev_finish() after releasing cpu_hotplug.lock
    cpufreq: Split __cpufreq_remove_dev() into two parts
    cpufreq: Fix wrong time unit conversion
    cpufreq: serialize calls to __cpufreq_governor()
    cpufreq: don't allow governor limits to be changed when it is disabled
    ACPI / bind: Prefer device objects with _STA to those without it
    ACPI / hotplug / PCI: Avoid parent bus rescans on spurious device checks
    ACPI / hotplug / PCI: Use _OST to notify firmware about notify status
    ACPI / hotplug / PCI: Avoid doing too much for spurious notifies
    ACPICA: Fix for a Store->ArgX when ArgX contains a reference to a field.
    ACPI / hotplug / PCI: Don't trim devices before scanning the namespace
    ...

    Linus Torvalds
     

12 Sep, 2013

16 commits

  • Pull watchdog updates from Wim Van Sebroeck:
    - New watchdog driver for Allwinner A10/A13
    - some devm_ioremap_resource simplifications
    - a s3c2410_wdt change that removes the global variables

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: s3c2410_wdt: simplify use of devm_ioremap_resource
    watchdog: simplify platform_get_resource_byname/devm_ioremap_resource
    watchdog: ts72xx_wdt: simplify use of devm_ioremap_resource
    watchdog: nuc900_wdt.c: simplify use of devm_ioremap_resource
    watchdog: sunxi: New watchdog driver for Allwinner A10/A13
    watchdog: s3c2410_wdt: remove the global variables

    Linus Torvalds
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Acked-by: Clemens Ladisch
    Signed-off-by: Guenter Roeck

    Jingoo Han
     
  • Joerg Roedel
     
  • Pull thermal management updates from Zhang Rui:
    "We have a lot of SOC changes and a few thermal core fixes this time.

    The biggest change is about exynos thermal driver restructure. The
    patch set adds TMU (Thermal management Unit) driver support for
    exynos5440 platform. There are 3 instances of the TMU controllers so
    necessary cleanup/re-structure is done to handle multiple thermal
    zone.

    The next biggest change is the introduction of the imx thermal driver.
    It adds the imx thermal support using Temperature Monitor (TEMPMON)
    block found on some Freescale i.MX SoCs. The driver uses syscon
    regmap interface to access TEMPMON control registers and calibration
    data, and supports cpufreq as the cooling device.

    Highlights:

    - restructure exynos thermal driver.

    - introduce new imx thermal driver.

    - fix a bug in thermal core, which powers on the fans unexpectedly
    after resume from suspend"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (46 commits)
    drivers: thermal: add check when unregistering cpu cooling
    thermal: thermal_core: allow binding with limits on bind_params
    drivers: thermal: make usage of CONFIG_THERMAL_HWMON optional
    drivers: thermal: parent virtual hwmon with thermal zone
    thermal: hwmon: move hwmon support to single file
    thermal: exynos: Clean up non-DT remnants
    thermal: exynos: Fix potential NULL pointer dereference
    thermal: exynos: Fix typos in Kconfig
    thermal: ti-soc-thermal: Ensure to compute thermal trend
    thermal: ti-soc-thermal: Set the bandgap mask counter delay value
    thermal: ti-soc-thermal: Initialize counter_delay field for TI DRA752 sensors
    thermal: step_wise: return instance->target by default
    thermal: step_wise: cdev only needs update on a new target state
    Thermal/cpu_cooling: Return directly for the cpu out of allowed_cpus in the cpufreq_thermal_notifier()
    thermal: exynos_tmu: fix wrong error check for mapped memory
    thermal: imx: implement thermal alarm interrupt handling
    thermal: imx: dynamic passive and SoC specific critical trip points
    Documentation: thermal: Explain the exynos thermal driver model
    ARM: dts: thermal: exynos: Add documentation for Exynos SoC thermal bindings
    thermal: exynos: Support for TMU regulator defined at device tree
    ...

    Linus Torvalds
     
  • * pm-cpufreq:
    cpufreq: Acquire the lock in cpufreq_policy_restore() for reading
    cpufreq: Prevent problems in update_policy_cpu() if last_cpu == new_cpu
    cpufreq: Restructure if/else block to avoid unintended behavior
    cpufreq: Fix crash in cpufreq-stats during suspend/resume

    Rafael J. Wysocki
     
  • This reverts the Linux for Workgroups thing. And no, before somebody
    asks, we're not doing Linux95. Not for a few years, at least.

    Sure, the flag added some color to the logo, and could have remained as
    a testament to my leet gimp skills. But no. And I'll do this early, to
    avoid the chance of forgetting when I'm doing the actual rc1 release on
    the road.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull DMA-mapping fix from Marek Szyprowski:
    "A build bugfix for the device tree support for reserved memory
    regions. Due to superfluous include the common code failed to build
    on ARM64 and MIPS architectures.

    The patch that caused the build break has lived at linux-next for
    about two weeks and noone noticed the issue, what convinced me that
    everything was ok"

    * 'for-v3.12-fix' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    drivers: of: fix build break if asm/dma-contiguous.h is missing

    Linus Torvalds
     
  • Pull dma-buf updates from Sumit Semwal:
    "Yet another small one - dma-buf framework now supports size discovery
    of the buffer via llseek"

    * tag 'for-3.12' of git://git.linaro.org/people/sumitsemwal/linux-dma-buf:
    dma-buf: Expose buffer size to userspace (v2)
    dma-buf: Check return value of anon_inode_getfile

    Linus Torvalds
     
  • Merge first patch-bomb from Andrew Morton:
    - Some pidns/fork/exec tweaks
    - OCFS2 updates
    - Most of MM - there remain quite a few memcg parts which depend on
    pending core cgroups changes. Which might have been already merged -
    I'll check tomorrow...
    - Various misc stuff all over the place
    - A few block bits which I never got around to sending to Jens -
    relatively minor things.
    - MAINTAINERS maintenance
    - A small number of lib/ updates
    - checkpatch updates
    - epoll
    - firmware/dmi-scan
    - Some kprobes work for S390
    - drivers/rtc updates
    - hfsplus feature work
    - vmcore feature work
    - rbtree upgrades
    - AOE updates
    - pktcdvd cleanups
    - PPS
    - memstick
    - w1
    - New "inittmpfs" feature, which does the obvious
    - More IPC work from Davidlohr.

    * emailed patches from Andrew Morton : (303 commits)
    lz4: fix compression/decompression signedness mismatch
    ipc: drop ipc_lock_check
    ipc, shm: drop shm_lock_check
    ipc: drop ipc_lock_by_ptr
    ipc, shm: guard against non-existant vma in shmdt(2)
    ipc: document general ipc locking scheme
    ipc,msg: drop msg_unlock
    ipc: rename ids->rw_mutex
    ipc,shm: shorten critical region for shmat
    ipc,shm: cleanup do_shmat pasta
    ipc,shm: shorten critical region for shmctl
    ipc,shm: make shmctl_nolock lockless
    ipc,shm: introduce shmctl_nolock
    ipc: drop ipcctl_pre_down
    ipc,shm: shorten critical region in shmctl_down
    ipc,shm: introduce lockless functions to obtain the ipc object
    initmpfs: use initramfs if rootfstype= or root= specified
    initmpfs: make rootfs use tmpfs when CONFIG_TMPFS enabled
    initmpfs: move rootfs code from fs/ramfs/ to init/
    initmpfs: move bdi setup from init_rootfs to init_ramfs
    ...

    Linus Torvalds
     
  • The driver core clears the driver data to NULL after device_release or on
    probe failure. Thus, it is not needed to manually clear the device driver
    data to NULL.

    Signed-off-by: Jingoo Han
    Cc: Evgeniy Polyakov
    Cc: Greg KH
    Acked-by: Shawn Guo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • The usage of strict_strtol() is not preferred, because strict_strtol() is
    obsolete. Thus, kstrtol() should be used.

    Signed-off-by: Jingoo Han
    Cc: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • Based partially on MS standard spec quotes from Alex Dubov.

    As any code that works with user data this driver isn't recommended to use
    to write cards that contain valuable data.

    It tries its best though to avoid data corruption and possible damage to
    the card.

    Tested on MS DUO 64 MB card on Ricoh R592 card reader.

    Signed-off-by: Maxim Levitsky
    Cc: Valdis Kletnieks
    Cc: Jens Axboe
    Cc: Alex Dubov
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxim Levitsky
     
  • The driver core clears the driver data to NULL after device_release or on
    probe failure. Thus, it is not needed to manually clear the device driver
    data to NULL.

    Signed-off-by: Jingoo Han
    Cc: Maxim Levitsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release or on
    probe failure. Thus, it is not needed to manually clear the device driver
    data to NULL.

    Signed-off-by: Jingoo Han
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • Fix thinkos where pkt_ needs a valid pktcdvd_device * and the
    pointer is known to be NULL.

    Signed-off-by: Joe Perches
    Reported-by: Dan Carpenter (go smatch!)
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Allow the device name to be emitted with pkt_err when logging the sense
    data.

    Signed-off-by: Joe Perches
    Cc: Jiri Kosina
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches