02 Jun, 2015

2 commits

  • register_shrinker() in ubifs_init() can fail due to fail to call kzalloc.
    This patch fixes to check the return value of register_shrinker, otherwise
    our shrinker may be unregistered after ubifs initialized successfully.

    Signed-off-by: Chao Yu
    Signed-off-by: Artem Bityutskiy
    Signed-off-by: Richard Weinberger

    Chao Yu
     
  • This patch makes ubiblock devices have minor numbers beginning from
    0, allocated dynamically independently of the ubi device/volume
    number. This property becomes useful because, on 32-bit architectures
    with LFS turned off in a userspace program, device minor numbers
    over 8 bits cause stat to return -EOVERFLOW. If the device number is
    high (>1) due to multiple MTD partitions, such an overflow will occur.
    While enabling LFS is clearly a nicer solution, it's often difficult
    to turn on in practice globally as many widely distributed packages
    don't work with LFS on.

    Other storage systems have their own workarounds, with SCSI making
    multiple device majors and MMC having a config option for the number
    of partitions per device. A completely dynamic minor numbering is
    simpler than these. It is unlikely that anyone is depending on a
    static minor number since the major is dynamic anyway. In addition,
    ubiblock is still relatively new, so now is the time to make such
    changes.

    Signed-off-by: Dan Ehrenberg
    Acked-by: Ezequiel Garcia
    Signed-off-by: Richard Weinberger

    Dan Ehrenberg
     

01 Jun, 2015

7 commits

  • Linus Torvalds
     
  • Pull vfs fix from Al Viro:
    "Off-by-one in d_walk()/__dentry_kill() race fix.

    It's very hard to hit; possible in the same conditions as the original
    bug, except that you need the skipped branch to contain all the
    remaining evictables, so that the d_walk()-calling loop in
    d_invalidate() decides there's nothing more to do and doesn't go for
    another pass - otherwise that next pass will sweep the sucker.

    So it's not too urgent, but seeing that the fix is obvious and the
    original commit has spread into all -stable branches..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    d_walk() might skip too much

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "Three fixes this time around:

    - fix a memory leak which occurs when probing performance monitoring
    unit interrupts

    - fix handling of non-PMD aligned end of RAM causing boot failures

    - fix missing syscall trace exit path with syscall tracing enabled
    causing a kernel oops in the audit code"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8357/1: perf: fix memory leak when probing PMU PPIs
    ARM: fix missing syscall trace exit
    ARM: 8356/1: mm: handle non-pmd-aligned end of RAM

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "MIPS fixes for 4.1 all across the tree"

    * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/linux:
    MIPS: strnlen_user.S: Fix a CPU_DADDI_WORKAROUNDS regression
    MIPS: BMIPS: Fix bmips_wr_vec()
    MIPS: ath79: fix build problem if CONFIG_BLK_DEV_INITRD is not set
    MIPS: Fuloong 2E: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760
    MIPS: irq: Use DECLARE_BITMAP
    ttyFDC: Fix to use native endian MMIO reads
    MIPS: Fix CDMM to use native endian MMIO reads

    Linus Torvalds
     
  • Pull turbostat tool fixes from Len Brown:
    "Just one minor kernel dependency in this batch -- added a #define to
    msr-index.h"

    * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    tools/power turbostat: update version number to 4.7
    tools/power turbostat: allow running without cpu0
    tools/power turbostat: correctly decode of ENERGY_PERFORMANCE_BIAS
    tools/power turbostat: enable turbostat to support Knights Landing (KNL)
    tools/power turbostat: correctly display more than 2 threads/core

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "These are mostly minor fixes, with the exception of the following that
    address fall-out from recent v4.1-rc1 changes:

    - regression fix related to the big fabric API registration changes
    and configfs_depend_item() usage, that required cherry-picking one
    of HCH's patches from for-next to address the issue for v4.1 code.

    - remaining TCM-USER -v2 related changes to enforce full CDB
    passthrough from Andy + Ilias.

    Also included is a target_core_pscsi driver fix from Andy that
    addresses a long standing issue with a Scsi_Host reference being
    leaked on PSCSI device shutdown"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    iser-target: Fix error path in isert_create_pi_ctx()
    target: Use a PASSTHROUGH flag instead of transport_types
    target: Move passthrough CDB parsing into a common function
    target/user: Only support full command pass-through
    target/user: Update example code for new ABI requirements
    target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST
    target: Fix se_tpg_tfo->tf_subsys regression + remove tf_subsystem
    target: Drop signal_pending checks after interruptible lock acquire
    target: Add missing parentheses
    target: Fix bidi command handling
    target/user: Disallow full passthrough (pass_level=0)
    ISCSI: fix minor memory leak

    Linus Torvalds
     
  • …l/git/groeck/linux-staging

    Pull hwmon fixes from Guenter Roeck:
    "Some late hwmon patches, all headed for -stable

    - fix sysfs attribute initialization in nct6775 and nct6683 drivers

    - do not attempt to auto-detect tmp435 on I2C address 0x37

    - ensure iio channel is of type IIO_VOLTAGE in ntc_thermistor driver"

    * tag 'hwmon-for-linus-v4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (nct6683) Add missing sysfs attribute initialization
    hwmon: (nct6775) Add missing sysfs attribute initialization
    hwmon: (tmp401) Do not auto-detect chip on I2C address 0x37
    hwmon: (ntc_thermistor) Ensure iio channel is of type IIO_VOLTAGE

    Linus Torvalds
     

31 May, 2015

7 commits

  • We don't assign pi_ctx to desc->pi_ctx until we're certain to succeed
    in the function. That means the cleanup path should use the local
    pi_ctx variable, not desc->pi_ctx.

    This was detected by Coverity (CID 1260062).

    Signed-off-by: Roland Dreier
    Signed-off-by: Nicholas Bellinger

    Roland Dreier
     
  • It seems like we only care if a transport is passthrough or not. Convert
    transport_type to a flags field and replace TRANSPORT_PLUGIN_* with a
    flag, TRANSPORT_FLAG_PASSTHROUGH.

    Signed-off-by: Andy Grover
    Reviewed-by: Ilias Tsitsimpis
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     
  • Aside from whether they handle BIDI ops or not, parsing of the CDB by
    kernel and user SCSI passthrough modules should be identical. Move this
    into a new passthrough_parse_cdb() and call it from tcm-pscsi and tcm-user.

    Reported-by: Christoph Hellwig
    Reviewed-by: Ilias Tsitsimpis
    Signed-off-by: Andy Grover
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     
  • After much discussion, give up on only passing a subset of SCSI commands
    to userspace and pass them all. Based on what pscsi is doing, make sure
    to set SCF_SCSI_DATA_CDB for I/O ops, and define attributes identical to
    pscsi.

    Make hw_block_size configurable via dev param.

    Remove mention of command filtering from tcmu-design.txt.

    Signed-off-by: Andy Grover
    Reviewed-by: Ilias Tsitsimpis
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     
  • We now require that the userspace handler set a bit if the command is not
    handled.

    Update calls to tcmu_hdr_get_op for v2.

    Signed-off-by: Andy Grover
    Reviewed-by: Ilias Tsitsimpis
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     
  • See https://bugzilla.redhat.com/show_bug.cgi?id=1025672

    We need to put() the reference to the scsi host that we got in
    pscsi_configure_device(). In VIRTUAL_HOST mode it is associated with
    the dev_virt, not the hba_virt.

    Signed-off-by: Andy Grover
    Cc: stable@vger.kernel.org # 2.6.38+
    Signed-off-by: Nicholas Bellinger

    Andy Grover
     
  • There is just one configfs subsystem in the target code, so we might as
    well add two helpers to reference / unreference it from the core code
    instead of passing pointers to it around.

    This fixes a regression introduced for v4.1-rc1 with commit 9ac8928e6,
    where configfs_depend_item() callers using se_tpg_tfo->tf_subsys would
    fail, because the assignment from the original target_core_subsystem[]
    is no longer happening at target_register_template() time.

    (Fix target_core_exit_configfs pointer dereference - Sagi)

    Signed-off-by: Christoph Hellwig
    Reported-by: Himanshu Madhani
    Signed-off-by: Nicholas Bellinger

    Christoph Hellwig
     

30 May, 2015

17 commits

  • The following error message is seen when loading the nct6683 driver
    with DEBUG_LOCK_ALLOC enabled.

    BUG: key ffff88040b2f0030 not in .data!
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 186 at kernel/locking/lockdep.c:2988
    lockdep_init_map+0x469/0x630()
    DEBUG_LOCKS_WARN_ON(1)

    Caused by a missing call to sysfs_attr_init() when initializing
    sysfs attributes.

    Reported-by: Alexey Orishko
    Reviewed-by: Jean Delvare
    Cc: stable@vger.kernel.org # v3.18+
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • The following error message is seen when loading the nct6775 driver
    with DEBUG_LOCK_ALLOC enabled.

    BUG: key ffff88040b2f0030 not in .data!
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 186 at kernel/locking/lockdep.c:2988
    lockdep_init_map+0x469/0x630()
    DEBUG_LOCKS_WARN_ON(1)

    Caused by a missing call to sysfs_attr_init() when initializing
    sysfs attributes.

    Reported-by: Alexey Orishko
    Reviewed-by: Jean Delvare
    Cc: stable@vger.kernel.org # v3.12+
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • Pull PCI / ACPI fix from Rafael Wysocki:
    "This fixes a bug uncovered by a recent driver core change that
    modified the implementation of the ACPI_COMPANION_SET() macro to
    strictly rely on its second argument to be either NULL or a valid
    pointer to struct acpi_device.

    As it turns out, pcibios_root_bridge_prepare() on x86 and ia64 works
    with the assumption that the only code path calling pci_create_root_bus()
    is pci_acpi_scan_root() and therefore the sysdata argument passed to
    it will always match the expectations of pcibios_root_bridge_prepare().

    That need not be the case, however, and in particular it is not the
    case for the Xen pcifront driver that passes a pointer to its own
    private data strcture as sysdata to pci_scan_bus_parented() which then
    passes it to pci_create_root_bus() and it ends up being used incorrectly
    by pcibios_root_bridge_prepare()"

    * tag 'acpi-pci-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PCI / ACPI: Do not set ACPI companions for host bridges with parents

    Linus Torvalds
     
  • Pull xfs fixes from Dave Chinner:
    "This is a little larger than I'd like late in the release cycle, but
    all the fixes are for regressions introduced in the 4.1-rc1 merge, or
    are needed back in -stable kernels fairly quickly as they are
    filesystem corruption or userspace visible correctness issues.

    Changes in this update:

    - regression fix for new rename whiteout code

    - regression fixes for new superblock generic per-cpu counter code

    - fix for incorrect error return sign introduced in 3.17

    - metadata corruption fixes that need to go back to -stable kernels"

    * tag 'xfs-for-linus-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
    xfs: fix broken i_nlink accounting for whiteout tmpfile inode
    xfs: xfs_iozero can return positive errno
    xfs: xfs_attr_inactive leaves inconsistent attr fork state behind
    xfs: extent size hints can round up extents past MAXEXTLEN
    xfs: inode and free block counters need to use __percpu_counter_compare
    percpu_counter: batch size aware __percpu_counter_compare()
    xfs: use percpu_counter_read_positive for mp->m_icount

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "Two weeks worth of small bug fixes this time, nothing sticking out
    this time:

    - one defconfig change to adapt to a modified Kconfig symbol

    - two fixes for i.MX for backwards compatibility with older DT files
    that was accidentally broken

    - one regression fix for irq handling on pxa

    - three small dt files on omap, and one each for imx and exynos"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760
    ARM: imx6: gpc: don't register power domain if DT data is missing
    ARM: imx6: allow booting with old DT
    ARM: dts: set display clock correctly for exynos4412-trats2
    ARM: pxa: pxa_cplds: signedness bug in probe
    ARM: dts: Fix WLAN interrupt line for AM335x EVM-SK
    ARM: dts: omap3-devkit8000: Fix NAND DT node
    ARM: dts: am335x-boneblack: disable RTC-only sleep
    ARM: dts: fix imx27 dtb build rule
    ARM: dts: imx27: only map 4 Kbyte for fec registers

    Linus Torvalds
     
  • Pull device-mapper fixes from Mike Snitzer:
    "Quite a few fixes for DM's blk-mq support thanks to extra DM multipath
    testing from Junichi Nomura and Bart Van Assche.

    Also fix a casting bug in dm_merge_bvec() that could cause only a
    single page to be added to a bio (Joe identified this while testing
    dm-cache writeback)"

    * tag 'dm-4.1-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm: fix casting bug in dm_merge_bvec()
    dm: fix reload failure of 0 path multipath mapping on blk-mq devices
    dm: fix false warning in free_rq_clone() for unmapped requests
    dm: requeue from blk-mq dm_mq_queue_rq() using BLK_MQ_RQ_QUEUE_BUSY
    dm mpath: fix leak of dm_mpath_io structure in blk-mq .queue_rq error path
    dm: fix NULL pointer when clone_and_map_rq returns !DM_MAPIO_REMAPPED
    dm: run queue on re-queue

    Linus Torvalds
     
  • I2C address 0x37 may be used by EEPROMs, which can result in false
    positives. Do not attempt to detect a chip at this address.

    Reviewed-by: Jean Delvare
    Cc: stable@vger.kernel.org # v4.0+
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • Merge misc fixes from Andrew Morton:
    "10 fixes"

    * emailed patches from Andrew Morton :
    scripts/gdb: fix lx-lsmod refcnt
    omfs: fix potential integer overflow in allocator
    omfs: fix sign confusion for bitmap loop counter
    omfs: set error return when d_make_root() fails
    fs, omfs: add NULL terminator in the end up the token list
    MAINTAINERS: update CAPABILITIES pattern
    fs/binfmt_elf.c:load_elf_binary(): return -EINVAL on zero-length mappings
    tracing/mm: don't trace mm_page_pcpu_drain on offline cpus
    tracing/mm: don't trace mm_page_free on offline cpus
    tracing/mm: don't trace kmem_cache_free on offline cpus

    Linus Torvalds
     
  • Pull fixes for cpumask and modules from Rusty Russell:
    "** NOW WITH TESTING! **

    Two fixes which got lost in my recent distraction. One is a weird
    cpumask function which needed to be rewritten, the other is a module
    bug which is cc:stable"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    cpumask_set_cpu_local_first => cpumask_local_spread, lament
    module: Call module notifier on failure after complete_formation()

    Linus Torvalds
     
  • Correct a regression introduced with 8453eebd [MIPS: Fix strnlen_user()
    return value in case of overlong strings.] causing assembler warnings
    and broken code generated in __strnlen_kernel_nocheck_asm:

    arch/mips/lib/strnlen_user.S: Assembler messages:
    arch/mips/lib/strnlen_user.S:64: Warning: Macro instruction expanded into multiple instructions in a branch delay slot

    with the CPU_DADDI_WORKAROUNDS option set, resulting in the function
    looping indefinitely upon mounting NFS root.

    Use conditional assembly to avoid a microMIPS code size regression.
    Using $at unconditionally would cause such a regression as there are no
    16-bit instruction encodings available for ALU operations using this
    register. Using $v1 unconditionally would produce short microMIPS
    encodings, but would prevent this register from being used across calls
    to this function.

    The extra LI operation introduced is free, replacing a NOP originally
    scheduled into the delay slot of the branch that follows.

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

    Maciej W. Rozycki
     
  • bmips_wr_vec() copies exception vector code from start to dst.

    The call to dma_cache_wback() needs to flush (end-start) bytes,
    starting at dst, from write-back cache to memory.

    Signed-off-by: Petri Gynther
    Acked-by: Florian Fainelli
    Reviewed-by: Kevin Cernekee
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10193/
    Signed-off-by: Ralf Baechle

    Petri Gynther
     
  • initrd_start is defined in init/do_mounts_initrd.c, which is only
    included in kernel if CONFIG_BLK_DEV_INITRD=y.

    Signed-off-by: Laurent Fasnacht
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/10198/
    Signed-off-by: Ralf Baechle

    Laurent Fasnacht
     
  • Pull drm fixes from Dave Airlie:
    "This is made up 4 groups of fixes detailed below.

    vgem:
    Due to some misgivings about possible bad use cases this allow,
    backout a chunk of the interface to stop those use cases for now.

    radeon:
    Fix for an oops regression in the audio code, and a partial revert
    for a fix that was cauing problems.

    nouveau:
    regression fix for Fermi, and display-less Maxwell boot fixes.

    drm core:
    a fix for i915 cursor vblank waiting in the atomic helpers"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/nouveau/gr/gm204: remove a stray printk
    drm/nouveau/devinit/gm100-: force devinit table execution on boards without PDISP
    drm/nouveau/devinit/gf100: make the force-post condition more obvious
    drm/nouveau/gr/gf100-: fix wrong constant definition
    drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"
    drm/radeon/audio: make sure connector is valid in hotplug case
    Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)"
    drm/radeon: don't share plls if monitors differ in audio support
    drm/vgem: drop DRIVER_PRIME (v2)
    drm/plane-helper: Adapt cursor hack to transitional helpers

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "No big surprise here, just a bunch of small fixes for HD-audio and
    USB-audio:

    - partial revert of widget power-saving for IDT codecs
    - revert mute-LED enum ctl for Thinkpads due to confusion
    - a quirk for a new Radeon HDMI controller
    - Realtek codec name fix for Dell
    - a workaround for headphone mic boost on some laptops
    - stream_pm ops setup (and its fix for regression)
    - another quirk for MS LifeCam USB-audio"

    * tag 'sound-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix lost sound due to stream_pm ops cleanup
    ALSA: hda - Disable Headphone Mic boost for ALC662
    ALSA: hda - Disable power_save_node for IDT92HD71bxx
    ALSA: hda - Fix noise on AMD radeon 290x controller
    ALSA: hda - Set stream_pm ops automatically by generic parser
    ALSA: hda/realtek - Add ALC256 alias name for Dell
    Revert "ALSA: hda - Add mute-LED mode control to Thinkpad"
    ALSA: usb-audio: Add quirk for MS LifeCam HD-3000

    Linus Torvalds
     
  • dm_merge_bvec() was originally added in f6fccb ("dm: introduce
    merge_bvec_fn"). In that commit a value in sectors is converted to
    bytes using << 9, and then assigned to an int. This code made
    assumptions about the value of BIO_MAX_SECTORS.

    A later commit 148e51 ("dm: improve documentation and code clarity in
    dm_merge_bvec") was meant to have no functional change but it removed
    the use of BIO_MAX_SECTORS in favor of using queue_max_sectors(). At
    this point the cast from sector_t to int resulted in a zero value. The
    fallout being dm_merge_bvec() would only allow a single page to be added
    to a bio.

    This interim fix is minimal for the benefit of stable@ because the more
    comprehensive cleanup of passing a sector_t to all DM targets' merge
    function will impact quite a few DM targets.

    Signed-off-by: Joe Thornber
    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org # 3.19+

    Joe Thornber
     
  • dm-multipath accepts 0 path mapping.

    # echo '0 2097152 multipath 0 0 0 0' | dmsetup create newdev

    Such a mapping can be used to release underlying devices while still
    holding requests in its queue until working paths come back.

    However, once the multipath device is created over blk-mq devices,
    it rejects reloading of 0 path mapping:

    # echo '0 2097152 multipath 0 0 1 1 queue-length 0 1 1 /dev/sda 1' \
    | dmsetup create mpath1
    # echo '0 2097152 multipath 0 0 0 0' | dmsetup load mpath1
    device-mapper: reload ioctl on mpath1 failed: Invalid argument
    Command failed

    With following kernel message:
    device-mapper: ioctl: can't change device type after initial table load.

    DM tries to inherit the current table type using dm_table_set_type()
    but it doesn't work as expected because of unnecessary check about
    whether the target type is hybrid or not.

    Hybrid type is for targets that work as either request-based or bio-based
    and not required for blk-mq or non blk-mq checking.

    Fixes: 65803c205983 ("dm table: train hybrid target type detection to select blk-mq if appropriate")
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Mike Snitzer

    Junichi Nomura
     
  • Pull m,ore md bugfixes gfrom Neil Brown:
    "Assorted fixes for new RAID5 stripe-batching functionality.

    Unfortunately this functionality was merged a little prematurely. The
    necessary testing and code review is now complete (or as complete as
    it can be) and to code passes a variety of tests and looks quite
    sensible.

    Also a fix for some recent locking changes - a race was introduced
    which causes a reshape request to sometimes fail. No data safety
    issues"

    * tag 'md/4.1-rc5-fixes' of git://neil.brown.name/md:
    md: fix race when unfreezing sync_action
    md/raid5: break stripe-batches when the array has failed.
    md/raid5: call break_stripe_batch_list from handle_stripe_clean_event
    md/raid5: be more selective about distributing flags across batch.
    md/raid5: add handle_flags arg to break_stripe_batch_list.
    md/raid5: duplicate some more handle_stripe_clean_event code in break_stripe_batch_list
    md/raid5: remove condition test from check_break_stripe_batch_list.
    md/raid5: Ensure a batch member is not handled prematurely.
    md/raid5: close race between STRIPE_BIT_DELAY and batching.
    md/raid5: ensure whole batch is delayed for all required bitmap updates.

    Linus Torvalds
     

29 May, 2015

7 commits

  • When stacking request-based dm device on non blk-mq device and
    device-mapper target could not map the request (error target is used,
    multipath target with all paths down, etc), the WARN_ON_ONCE() in
    free_rq_clone() will trigger when it shouldn't.

    The warning was added by commit aa6df8d ("dm: fix free_rq_clone() NULL
    pointer when requeueing unmapped request"). But free_rq_clone() with
    clone->q == NULL is valid usage for the case where
    dm_kill_unmapped_request() initiates request cleanup.

    Fix this false warning by just removing the WARN_ON -- it only generated
    false positives and was never useful in catching the intended case
    (completing clone request not being mapped e.g. clone->q being NULL).

    Fixes: aa6df8d ("dm: fix free_rq_clone() NULL pointer when requeueing unmapped request")
    Reported-by: Bart Van Assche
    Reported-by: Jun'ichi Nomura
    Signed-off-by: Mike Snitzer

    Mike Snitzer
     
  • Since commit 100832abf065bc18 ("usb: isp1760: Make HCD support
    optional"), CONFIG_USB_ISP1760_HCD is automatically selected when
    needed. Enabling that option in the defconfig is now a no-op, and no
    longer enables ISP1760 HCD support.

    Re-enable the ISP1760 driver in the defconfig by enabling
    USB_ISP1760_HOST_ROLE instead.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Arnd Bergmann

    Geert Uytterhoeven
     
  • …wnguo/linux into fixes

    Merge "The i.MX fixes for 4.1, 3rd round" from Shawn Guo:

    It includes a couple of fixes for i.MX6 GPC code to let the new kernel
    be able to boot with old DTBs:

    - Booting v4.1-rc kernel with old DTBs will fail with a fat warning
    (require low-level debug to be seen), due to the adoption of stacked
    IRQ domain. The first fix improves the situation by allowing kernel
    boot up with old DTBs, although suspend/resume still breaks.

    - Booting new kernel with old DTBs that do not have power-domain info
    will result in a hang. The second patch fixes the hang by skipping
    the kernel power-domain registration if DTB has no power-domain info.

    * tag 'imx-fixes-4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: imx6: gpc: don't register power domain if DT data is missing
    ARM: imx6: allow booting with old DT

    Arnd Bergmann
     
  • …ne/linux-samsung into fixes

    Merge "Samsung fix for v4.1" from Kukjin Kim:

    - Set display clock correctly for exynos4412-trats2
    : fix the following error

    exynos-drm: No connectors reported connected with modes
    [drm] Cannot find any crtc or sizes - going 1024x768

    * tag 'samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: dts: set display clock correctly for exynos4412-trats2

    Arnd Bergmann
     
  • The commit [49fb18972581: ALSA: hda - Set stream_pm ops automatically
    by generic parser] resulted in regressions on some Realtek and VIA
    codecs because these drivers set patch_ops after calling the generic
    parser, thus stream_pm got cleared to NULL again. I haven't noticed
    since I tested with IDT codec.

    Restore (partial revert) the stream_pm ops for them to fix the
    regression.

    Fixes: 49fb18972581 ('ALSA: hda - Set stream_pm ops automatically by generic parser')
    Reported-by: Jeremiah Mahler
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • when we find that a child has died while we'd been trying to ascend,
    we should go into the first live sibling itself, rather than its sibling.

    Off-by-one in question had been introduced in "deal with deadlock in
    d_walk()" and the fix needs to be backported to all branches this one
    has been backported to.

    Cc: stable@vger.kernel.org # 3.2 and later
    Signed-off-by: Al Viro

    Al Viro
     
  • Commit 2f35c41f58a9 ("module: Replace module_ref with atomic_t refcnt")
    changes the way refcnt is handled but did not update the gdb script to
    use the new variable.

    Since refcnt is not per-cpu anymore, we can directly read its value.

    Signed-off-by: Adrien Schildknecht
    Reviewed-by: Jan Kiszka
    Cc: Pantelis Koukousoulas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrien Schildknecht