1. 12 11月, 2014 6 次提交
  2. 10 11月, 2014 16 次提交
    • M
      bnx2fc: fix tgt spinlock locking · dc6311dd
      Maurizio Lombardi 提交于
      bnx2fc_queuecommand(): when allocating a new io_req, the tgt_lock
      spinlock must be locked before calling bnx2fc_cmd_alloc().
      
      The spinlock should also be kept locked until bnx2fc_post_io_req() has
      been completed.
      If not, a kernel thread may call bnx2fc_process_cq_compl() that extracts
      the newly allocated io_req from hba->cmd_mgr->cmds and destroys it while
      it is still being used by bnx2fc_post_io_req().
      
      BUG: unable to handle kernel NULL pointer dereference at 000000000000004c
      IP: [<ffffffffa03130da>] bnx2fc_init_task+0x6a/0x230 [bnx2fc]
      PGD 0
      Oops: 0000 [#1] SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/0000:04:00.3/net/eth3/type
      CPU 33
      Modules linked in: autofs4 target_core_iblock target_core_file target_core_pscsi target_core_mod configfs bnx2fc cnic uio fcoe libfcoe libfc scsi_transport_fc 8021q garp scsi_tgt stp llc cpufreq_ondemand freq_table pcc_cpufreq ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 power_meter microcode iTCO_wdt iTCO_vendor_support hpilo hpwdt sg bnx2x libcrc32c mdio serio_raw lpc_ich mfd_core shpchp ext4 jbd2 mbcache sd_mod crc_t10dif hpsa video output dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
      
      Pid: 7355, comm: bnx2fc_thread/3 Not tainted 2.6.32-431.el6.x86_64 #1 HP ProLiant BL460c Gen8
      RIP: 0010:[<ffffffffa03130da>]  [<ffffffffa03130da>] bnx2fc_init_task+0x6a/0x230 [bnx2fc]
      RSP: 0018:ffff8820b0da3b68  EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff882003801080 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff882003801100
      RBP: ffff8820b0da3bc8 R08: ffffffff8160d4e8 R09: 0000000000000040
      R10: 0000000000000000 R11: 0000000000000000 R12: ffff88400e600e00
      R13: ffff8840108fbe40 R14: ffff88200ffe5400 R15: 0000000000000000
      FS:  0000000000000000(0000) GS:ffff8820b0da0000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
      CR2: 000000000000004c CR3: 0000002010b67000 CR4: 00000000001407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process bnx2fc_thread/3 (pid: 7355, threadinfo ffff88401f940000, task ffff884012f5f540)
      Stack:
       ffff8820b0da3bc8 ffffffff81527303 ffff884000000020 ffff8820b0da3bd8
      <d> ffff8820b0da3b98 000000028138931a ffff88400f506078 ffff88400e600e00
      <d> ffff88200ffe5400 ffff88200ffe5590 0000000000000021 0000000000000002
      Call Trace:
       <IRQ>
       [<ffffffff81527303>] ? printk+0x41/0x46
       [<ffffffffa03169bc>] bnx2fc_post_io_req+0x11c/0x440 [bnx2fc]
       [<ffffffff812825b9>] ? cpumask_next_and+0x29/0x50
       [<ffffffff8137ffd0>] ? scsi_done+0x0/0x60
       [<ffffffffa0316df7>] bnx2fc_queuecommand+0x117/0x140 [bnx2fc]
       [<ffffffff81380245>] scsi_dispatch_cmd+0xe5/0x310
       [<ffffffff81388b9e>] scsi_request_fn+0x5ee/0x7a0
       [<ffffffff812658f1>] __blk_run_queue+0x31/0x40
       [<ffffffff81265a40>] blk_run_queue+0x30/0x50
       [<ffffffff81387da6>] scsi_run_queue+0xc6/0x270
       [<ffffffff81260f92>] ? elv_requeue_request+0x52/0xa0
       [<ffffffff813897a0>] scsi_requeue_command+0x90/0xb0
       [<ffffffff81389b84>] scsi_io_completion+0x154/0x6c0
       [<ffffffff8137ff62>] scsi_finish_command+0xc2/0x130
       [<ffffffff8138a255>] scsi_softirq_done+0x145/0x170
       [<ffffffff8126e865>] blk_done_softirq+0x85/0xa0
       [<ffffffff8107a8e1>] __do_softirq+0xc1/0x1e0
       [<ffffffff8100c30c>] ? call_softirq+0x1c/0x30
       [<ffffffff8100c30c>] call_softirq+0x1c/0x30
       <EOI>
       [<ffffffff8100fa75>] ? do_softirq+0x65/0xa0
       [<ffffffff8107a40a>] local_bh_enable_ip+0x9a/0xb0
       [<ffffffff8152a4eb>] _spin_unlock_bh+0x1b/0x20
       [<ffffffffa0313937>] bnx2fc_process_cq_compl+0x257/0x2b0 [bnx2fc]
       [<ffffffffa03114ea>] bnx2fc_percpu_io_thread+0xea/0x160 [bnx2fc]
       [<ffffffffa0311400>] ? bnx2fc_percpu_io_thread+0x0/0x160 [bnx2fc]
       [<ffffffff8109aef6>] kthread+0x96/0xa0
       [<ffffffff8100c20a>] child_rip+0xa/0x20
       [<ffffffff8109ae60>] ? kthread+0x0/0xa0
       [<ffffffff8100c200>] ? child_rip+0x0/0x20
      Code: 89 df 45 8b 7e 30 0f 85 75 01 00 00 89 d1 31 c0 c1 e9 03 83 e2 04 89 c9 f3 48 ab 74 06 c7 07 00 00 00 00 49 89 9c 24 88 01 00 00 <83> 7e 4c 01 b8 01 00 00 00 0f 84 e7 00 00 00 89 c2 0a 53 38 41
      RIP  [<ffffffffa03130da>] bnx2fc_init_task+0x6a/0x230 [bnx2fc]
       RSP <ffff8820b0da3b68>
      CR2: 000000000000004c
      Signed-off-by: NMaurizio Lombardi <mlombard@redhat.com>
      Acked-by: NChad Dupuis <chad.dupuis@qlogic.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      dc6311dd
    • J
      megaraid_sas: fix bug in handling return value of pci_enable_msix_range() · c12de882
      Jiang Liu 提交于
      Function pci_enable_msix_range() may return negative values for error
      conditions. So it's a bug by checking (pci_enable_msix_range() != 0)
      for success and causes failure to megaraid driver when MSI is disabled.
      [   16.487267] megaraid_sas 0000:02:00.0: Controller type: iMR
      [   16.487275] genirq: Flags mismatch irq 0. 00000000 (megasas) vs. 00015a00 (tii
      mer)
      [   16.487347] megasas: Failed to register IRQ for vector 0.
      
      Fixes: 8ae80ed1 "megaraid: Use pci_enable_msix_range() instead of pci_enable_msix()"
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NSumit Saxena <sumit.saxena@avagotech.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: <stable@vger.kernel.org> # 3.17
      c12de882
    • A
      cxgb4i: send abort_rpl correctly · 7b07bf24
      Anish Bhatt 提交于
      Connection retries were not being cleaned up correctly if they failed as a
      result of link down. Applies on top of drivers-for-3.18.
      Signed-off-by: NAnish Bhatt <anish@chelsio.com>
      Signed-off-by: NKaren Xie <kxie@chelsio.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      7b07bf24
    • A
      cxgbi: add maintainer for cxgb3i/cxgb4i · d8ae3c33
      Anish Bhatt 提交于
      Signed-off-by: NAnish Bhatt <anish@chelsio.com>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      d8ae3c33
    • W
      scsi: TUR path is down after adapter gets reset with multipath · 333b2448
      wenxiong@linux.vnet.ibm.com 提交于
      This patch fixes an issue with multipath ipr SAS devices which require a
      start unit command to be issued following an adapter reset. Without this
      patch, paths get marked failed following an adapter reset and since the
      error handler never gets invoked to issue the start unit, the paths are
      never recovered. Returning FAILED for this case ensures the error
      handler wakes up to issue the start unit.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Tested-by: NWen Xiong <wenxiong@linux.vnet.ibm.com>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      333b2448
    • C
      scsi: call device handler for failed TUR command · e925cc43
      Christoph Hellwig 提交于
      Multipath devices using the TUR path checker need to see the sense
      code for a failed TUR command in their device handler.  Since commit
      14216561 we always return success for mid
      layer issued TUR commands before calling the device handler, which
      stopped the TUR path checker from working.
      
      Move the call to the device handler check sense method before the early
      return for TUR commands to give the device handler a chance to intercept
      them.
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Tested-by: NWen Xiong <wenxiong@linux.vnet.ibm.com>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      e925cc43
    • C
      scsi: only re-lock door after EH on devices that were reset · 48379270
      Christoph Hellwig 提交于
      Setups that use the blk-mq I/O path can lock up if a host with a single
      device that has its door locked enters EH.  Make sure to only send the
      command to re-lock the door to devices that actually were reset and thus
      might have lost their state.  Otherwise the EH code might be get blocked
      on blk_get_request as all requests for non-reset devices might be in use.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reported-by: NMeelis Roos <meelis.roos@ut.ee>
      Tested-by: NMeelis Roos <meelis.roos@ut.ee>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      48379270
    • L
      Linux 3.18-rc4 · 206c5f60
      Linus Torvalds 提交于
      206c5f60
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ee867cf9
      Linus Torvalds 提交于
      Pull arm64 fixes from Catalin Marinas:
       - enable bpf syscall for compat
       - cpu_suspend fix when checking the idle state type
       - defconfig update
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: defconfig: update defconfig for 3.18
        arm64: compat: Enable bpf syscall
        arm64: psci: fix cpu_suspend to check idle state type for index
      ee867cf9
    • L
      Merge tag 'armsoc-for-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b1f368b5
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "Another quiet week:
      
         - a fix to silence edma probe error on non-supported platforms from
           Arnd
         - a fix to enable the PL clock for Parallella, to make mainline
           usable with the SDK.
         - a somewhat verbose fix for the PLL clock tree on VF610
         - enabling of SD/MMC on one of the VF610-based boards (for testing)
         - a fix for i.MX where CONFIG_SPI used to be implicitly enabled and
           now needs to be added to the defconfig instead
         - another maintainer added for bcm2835: Lee Jones"
      
      * tag 'armsoc-for-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: zynq: Enable PL clocks for Parallella
        dma: edma: move device registration to platform code
        ARM: dts: vf610: add SD node to cosmic dts
        MAINTAINERS: update bcm2835 entry
        ARM: imx: Fix the removal of CONFIG_SPI option
        ARM: imx: clk-vf610: define PLL's clock tree
      b1f368b5
    • L
      Merge branch 'devicetree/merge' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux · a3157809
      Linus Torvalds 提交于
      Pull devicetree bugfix from Grant Likely:
       "One buffer overflow bug that shouldn't be left around"
      
      * 'devicetree/merge' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
        of: Fix overflow bug in string property parsing functions
      a3157809
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · c4c23fb6
      Linus Torvalds 提交于
      Pull btrfs fix from Chris Mason:
       "It's a one liner for an error cleanup path that leads to crashes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix kfree on list_head in btrfs_lookup_csums_range error cleanup
      c4c23fb6
    • L
      Merge tag 'driver-core-3.18-rc4' of... · 0b0c7dbd
      Linus Torvalds 提交于
      Merge tag 'driver-core-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fixes from Greg KH:
       "Here are 3 tiny fixes for 3.18-rc4.
      
        One fixes up a long-stading race condition in the driver core for
        removing directories in /sys/devices/virtual/ and the other 2 fix up
        the wording of a new Kconfig option that was added in 3.18-rc1"
      
      * tag 'driver-core-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP
        tiny: reverse logic for DISABLE_DEV_COREDUMP
        sysfs: driver core: Fix glue dir race condition by gdp_mutex
      0b0c7dbd
    • L
      Merge tag 'staging-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 86a7a167
      Linus Torvalds 提交于
      Pull staging driver fixes from Greg KH:
       "Here are some staging/iio fixes for 3.18-rc4.
      
        Nothing major, just a few bugfixes of things that have been reported"
      
      * tag 'staging-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging:iio:ade7758: Remove "raw" from channel name
        staging:iio:ade7758: Fix check if channels are enabled in prenable
        staging:iio:ade7758: Fix NULL pointer deref when enabling buffer
        iio: as3935: allocate correct iio_device size
        io: accel: kxcjk-1013: Fix iio_event_spec direction
        iio: tsl4531: Fix compiler error when CONFIG_PM_OPS is not defined
        iio: adc: mxs-lradc: Disable the clock on probe failure
        iio: st_sensors: Fix buffer copy
        staging:iio:ad5933: Drop "raw" from channel names
        staging:iio:ad5933: Fix NULL pointer deref when enabling buffer
      86a7a167
    • L
      Merge tag 'tty-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 45a4c079
      Linus Torvalds 提交于
      Pull tty/serial fixes from Greg KH:
       "Here are some tiny serial/tty fixes for 3.18-rc4 that resolve some
        reported issues"
      
      * tag 'tty-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: Fix pty master poll() after slave closes v2
        serial: of-serial: fix uninitialized kmalloc variable
        tty/vt: don't set font mappings on vc not supporting this
        tty: serial: 8250_mtk: Fix quot calculation
        tty: Prevent "read/write wait queue active!" log flooding
        tty: Fix high cpu load if tty is unreleaseable
        serial: Fix divide-by-zero fault in uart_get_divisor()
      45a4c079
    • L
      Merge tag 'usb-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · b9427910
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are some USB fixes for 3.18-rc4.
      
        Just a bunch of little fixes resolving reported issues and new device
        ids for existing drivers.  Full details are in the shortlog"
      
      * tag 'usb-3.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits)
        USB: Update default usb-storage delay_use value in kernel-parameters.txt
        USB: cdc-acm: add quirk for control-line state requests
        phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly
        USB: storage: Fix timeout in usb_stor_euscsi_init() and usb_stor_huawei_e220_init()
        USB: cdc-acm: only raise DTR on transitions from B0
        Revert "storage: Replace magic number with define in usb_stor_euscsi_init()"
        usb: core: notify disconnection when core detects disconnect
        usb: core: need to call usb_phy_notify_connect after device setup
        uas: Add US_FL_NO_ATA_1X quirk for 2 more Seagate models
        xhci: no switching back on non-ULT Haswell
        USB: quirks: enable device-qualifier quirk for yet another Elan touchscreen
        USB: quirks: enable device-qualifier quirk for another Elan touchscreen
        MAINTAINERS: Remove duplicate entry for usbip driver
        usb: storage: fix build warnings !CONFIG_PM
        usb: Remove references to non-existent PLAT_S5P symbol
        uas: Add NO_ATA_1X for VIA VL711 devices
        xhci: Disable streams on Asmedia 1042 xhci controllers
        USB: HWA: fix a warning message
        uas: Add US_FL_NO_ATA_1X quirk for 1 more Seagate model
        usb-storage: handle a skipped data phase
        ...
      b9427910
  3. 09 11月, 2014 4 次提交
  4. 08 11月, 2014 11 次提交
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 6ac94d3a
      Linus Torvalds 提交于
      Pull MIPS updates from Ralf Baechle:
       "This weeks' round of MIPS bug fixes for 3.18:
      
         - wire up the bpf syscall
         - fix TLB dump output for R3000 class TLBs
         - fix strnlen_user return value if no NUL character was found.
         - fix build with binutils 2.24.51+.  While there is no binutils 2.25
           release yet, toolchains derived from binutils 2.24.51+ are already
           in common use.
         - the Octeon GPIO code forgot to offline GPIO IRQs.
         - fix build error for XLP.
         - fix possible BUG assertion with EVA for CMA"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Fix build with binutils 2.24.51+
        MIPS: R3000: Fix debug output for Virtual page number
        MIPS: Fix strnlen_user() return value in case of overlong strings.
        MIPS: CMA: Do not reserve memory if not required
        MIPS: Wire up bpf syscall.
        MIPS/Xlp: Remove the dead function destroy_irq() to fix build error
        MIPS: Octeon: Make Octeon GPIO IRQ chip CPU hotplug-aware
      6ac94d3a
    • L
      Merge tag 'xfs-for-linus-3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 661b99e9
      Linus Torvalds 提交于
      Pull xfs fixes from Dave Chinner:
       "This update fixes a warning in the new pagecache_isize_extended() and
        updates some related comments, another fix for zero-range
        misbehaviour, and an unforntuately large set of fixes for regressions
        in the bulkstat code.
      
        The bulkstat fixes are large but necessary.  I wouldn't normally push
        such a rework for a -rcX update, but right now xfsdump can silently
        create incomplete dumps on 3.17 and it's possible that even xfsrestore
        won't notice that the dumps were incomplete.  Hence we need to get
        this update into 3.17-stable kernels ASAP.
      
        In more detail, the refactoring work I committed in 3.17 has exposed a
        major hole in our QA coverage.  With both xfsdump (the major user of
        bulkstat) and xfsrestore silently ignoring missing files in the
        dump/restore process, incomplete dumps were going unnoticed if they
        were being triggered.  Many of the dump/restore filesets were so small
        that they didn't evenhave a chance of triggering the loop iteration
        bugs we introduced in 3.17, so we didn't exercise the code
        sufficiently, either.
      
        We have already taken steps to improve QA coverage in xfstests to
        avoid this happening again, and I've done a lot of manual verification
        of dump/restore on very large data sets (tens of millions of inodes)
        of the past week to verify this patch set results in bulkstat behaving
        the same way as it does on 3.16.
      
        Unfortunately, the fixes are not exactly simple - in tracking down the
        problem historic API warts were discovered (e.g xfsdump has been
        working around a 20 year old bug in the bulkstat API for the past 10
        years) and so that complicated the process of diagnosing and fixing
        the problems.  i.e. we had to fix bugs in the code as well as
        discover and re-introduce the userspace visible API bugs that we
        unwittingly "fixed" in 3.17 that xfsdump relied on to work correctly.
      
        Summary:
      
         - incorrect warnings about i_mutex locking in pagecache_isize_extended()
           and updates comments to match expected locking
         - another zero-range bug fix for stray file size updates
         - a bunch of fixes for regression in the bulkstat code introduced in
           3.17"
      
      * tag 'xfs-for-linus-3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: track bulkstat progress by agino
        xfs: bulkstat error handling is broken
        xfs: bulkstat main loop logic is a mess
        xfs: bulkstat chunk-formatter has issues
        xfs: bulkstat chunk formatting cursor is broken
        xfs: bulkstat btree walk doesn't terminate
        mm: Fix comment before truncate_setsize()
        xfs: rework zero range to prevent invalid i_size updates
        mm: Remove false WARN_ON from pagecache_isize_extended()
        xfs: Check error during inode btree iteration in xfs_bulkstat()
        xfs: bulkstat doesn't release AGI buffer on error
      661b99e9
    • L
      Merge tag 'regulator-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 51f83ef0
      Linus Torvalds 提交于
      Pull regulator fixes from Mark Brown:
       "More changes than I'd like here, most of them for a single bug
        repeated in a bunch of drivers with data not being initialized
        correctly, plus a fix to lower the severity of a warning introduced in
        the last merge window which can legitimately go off so we don't want
        to alarm users excessively"
      
      * tag 'regulator-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: s2mpa01: zero-initialize regulator match table array
        regulator: max8660: zero-initialize regulator match table array
        regulator: max77802: zero-initialize regulator match table
        regulator: max77686: zero-initialize regulator match table
        regulator: max1586: zero-initialize regulator match table array
        regulator: max77693: Fix use of uninitialized regulator config
        regulator: of: Lower the severity of the error with no container
      51f83ef0
    • L
      Merge tag 'spi-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 1395b9cf
      Linus Torvalds 提交于
      Pull spi bugfixes from Mark Brown:
       "A couple of small driver fixes for v3.18, both quite problematic if
        you hit a use case that's affected"
      
      * tag 'spi-v3.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: pxa2xx: toggle clocks on suspend if not disabled by runtime PM
        spi: fsl-dspi: Fix CTAR selection
      1395b9cf
    • J
      tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP · cd3d9ea1
      Johannes Berg 提交于
      The ENABLE_DEV_COREDUMP option is misleading as it implies that
      it gets the framework enabled, this isn't true it just allows it
      to get enabled if a driver needs it.
      
      Rename it to ALLOW_DEV_COREDUMP to better capture its semantics.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
      Acked-by: NAristeu Rozanski <aris@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      cd3d9ea1
    • A
      tiny: reverse logic for DISABLE_DEV_COREDUMP · 9c602699
      Aristeu Rozanski 提交于
      It's desirable for allnconfig and tinyconfig targets to result in the
      least amount of code possible. DISABLE_DEV_COREDUMP exists as a way to
      switch off DEV_COREDUMP regardless if any drivers select
      WANT_DEV_COREDUMP.
      
      This patch renames the option to ENABLE_DEV_COREDUMP and setting it to
      'n' (as in allnconfig or tinyconfig) will effectively disable device
      coredump.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Reviewed-by: NJosh Triplett <josh@joshtriplett.org>
      Signed-off-by: NAristeu Rozanski <arozansk@redhat.com>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9c602699
    • L
      i2c: core: Dispose OF IRQ mapping at client removal time · e4df3a0b
      Laurent Pinchart 提交于
      Clients instantiated from OF get an IRQ mapping created at device
      registration time. Dispose the mapping when the client is removed.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      Cc: stable@kernel.org
      e4df3a0b
    • W
      i2c: at91: don't account as iowait · 11cfbfb0
      Wolfram Sang 提交于
      iowait is for blkio [1]. I2C shouldn't use it.
      
      [1] https://lkml.org/lkml/2014/11/3/317Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      Acked-by: NLudovic Desroches <ludovic.desroches@atmel.com>
      Cc: stable@kernel.org
      11cfbfb0
    • W
      i2c: remove FSF address · ca1f8da9
      Wolfram Sang 提交于
      We have a central copy of the GPL for that. Some addresses were already
      outdated.
      Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com>
      ca1f8da9
    • M
      USB: Update default usb-storage delay_use value in kernel-parameters.txt · 19101954
      Mark Knibbs 提交于
      Back in 2010 the default usb-storage delay_use time was reduced from 5 to 1
      second (commit a4a47bc0), but
      kernel-parameters.txt wasn't updated to reflect that.
      Signed-off-by: NMark Knibbs <markk@clara.co.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      19101954
    • Y
      sysfs: driver core: Fix glue dir race condition by gdp_mutex · e4a60d13
      Yijing Wang 提交于
      There is a race condition when removing glue directory.
      It can be reproduced in following test:
      
      path 1: Add first child device
      device_add()
          get_device_parent()
                  /*find parent from glue_dirs.list*/
                  list_for_each_entry(k, &dev->class->p->glue_dirs.list, entry)
                          if (k->parent == parent_kobj) {
                                  kobj = kobject_get(k);
                                  break;
                          }
                  ....
                  class_dir_create_and_add()
      
      path2: Remove last child device under glue dir
      device_del()
          cleanup_device_parent()
                  cleanup_glue_dir()
                          kobject_put(glue_dir);
      
      If path2 has been called cleanup_glue_dir(), but not
      call kobject_put(glue_dir), the glue dir is still
      in parent's kset list. Meanwhile, path1 find the glue
      dir from the glue_dirs.list. Path2 may release glue dir
      before path1 call kobject_get(). So kernel will report
      the warning and bug_on.
      
      This is a "classic" problem we have of a kref in a list
      that can be found while the last instance could be removed
      at the same time.
      
      This patch reuse gdp_mutex to fix this race condition.
      
      The following calltrace is captured in kernel 3.4, but
      the latest kernel still has this bug.
      
      -----------------------------------------------------
      <4>[ 3965.441471] WARNING: at ...include/linux/kref.h:41 kobject_get+0x33/0x40()
      <4>[ 3965.441474] Hardware name: Romley
      <4>[ 3965.441475] Modules linked in: isd_iop(O) isd_xda(O)...
      ...
      <4>[ 3965.441605] Call Trace:
      <4>[ 3965.441611]  [<ffffffff8103717a>] warn_slowpath_common+0x7a/0xb0
      <4>[ 3965.441615]  [<ffffffff810371c5>] warn_slowpath_null+0x15/0x20
      <4>[ 3965.441618]  [<ffffffff81215963>] kobject_get+0x33/0x40
      <4>[ 3965.441624]  [<ffffffff812d1e45>] get_device_parent.isra.11+0x135/0x1f0
      <4>[ 3965.441627]  [<ffffffff812d22d4>] device_add+0xd4/0x6d0
      <4>[ 3965.441631]  [<ffffffff812d0dbc>] ? dev_set_name+0x3c/0x40
      ....
      <2>[ 3965.441912] kernel BUG at ..../fs/sysfs/group.c:65!
      <4>[ 3965.441915] invalid opcode: 0000 [#1] SMP
      ...
      <4>[ 3965.686743]  [<ffffffff811a677e>] sysfs_create_group+0xe/0x10
      <4>[ 3965.686748]  [<ffffffff810cfb04>] blk_trace_init_sysfs+0x14/0x20
      <4>[ 3965.686753]  [<ffffffff811fcabb>] blk_register_queue+0x3b/0x120
      <4>[ 3965.686756]  [<ffffffff812030bc>] add_disk+0x1cc/0x490
      ....
      -------------------------------------------------------
      Signed-off-by: NYijing Wang <wangyijing@huawei.com>
      Signed-off-by: NWeng Meiling <wengmeiling.weng@huawei.com>
      Cc: <stable@vger.kernel.org> #3.4+
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e4a60d13
  5. 07 11月, 2014 3 次提交
    • M
      MIPS: Fix build with binutils 2.24.51+ · 842dfc11
      Manuel Lauss 提交于
      Starting with version 2.24.51.20140728 MIPS binutils complain loudly
      about mixing soft-float and hard-float object files, leading to this
      build failure since GCC is invoked with "-msoft-float" on MIPS:
      
      {standard input}: Warning: .gnu_attribute 4,3 requires `softfloat'
        LD      arch/mips/alchemy/common/built-in.o
      mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o
       uses -msoft-float (set by arch/mips/alchemy/common/prom.o),
       arch/mips/alchemy/common/sleeper.o uses -mhard-float
      
      To fix this, we detect if GAS is new enough to support "-msoft-float" command
      option, and if it does, we can let GCC pass it to GAS;  but then we also need
      to sprinkle the files which make use of floating point registers with the
      necessary ".set hardfloat" directives.
      Signed-off-by: NManuel Lauss <manuel.lauss@gmail.com>
      Cc: Linux-MIPS <linux-mips@linux-mips.org>
      Cc: Matthew Fortune <Matthew.Fortune@imgtec.com>
      Cc: Markos Chandras <Markos.Chandras@imgtec.com>
      Cc: Maciej W. Rozycki <macro@linux-mips.org>
      Patchwork: https://patchwork.linux-mips.org/patch/8355/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      842dfc11
    • D
      xfs: track bulkstat progress by agino · 00275899
      Dave Chinner 提交于
      The bulkstat main loop progress is tracked by the "lastino"
      variable, which is a full 64 bit inode. However, the loop actually
      works on agno/agino pairs, and so there's a significant disconnect
      between the rest of the loop and the main cursor. Convert this to
      use the agino, and pass the agino into the chunk formatting function
      and convert it too.
      
      This gets rid of the inconsistency in the loop processing, and
      finally makes it simple for us to skip inodes at any point in the
      loop simply by incrementing the agino cursor.
      
      cc: <stable@vger.kernel.org> # 3.17
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NBrian Foster <bfoster@redhat.com>
      Signed-off-by: NDave Chinner <david@fromorbit.com>
      00275899
    • D
      xfs: bulkstat error handling is broken · febe3cbe
      Dave Chinner 提交于
      The error propagation is a horror - xfs_bulkstat() returns
      a rval variable which is only set if there are formatter errors. Any
      sort of btree walk error or corruption will cause the bulkstat walk
      to terminate but will not pass an error back to userspace. Worse
      is the fact that formatter errors will also be ignored if any inodes
      were correctly formatted into the user buffer.
      
      Hence bulkstat can fail badly yet still report success to userspace.
      This causes significant issues with xfsdump not dumping everything
      in the filesystem yet reporting success. It's not until a restore
      fails that there is any indication that the dump was bad and tha
      bulkstat failed. This patch now triggers xfsdump to fail with
      bulkstat errors rather than silently missing files in the dump.
      
      This now causes bulkstat to fail when the lastino cookie does not
      fall inside an existing inode chunk. The pre-3.17 code tolerated
      that error by allowing the code to move to the next inode chunk
      as the agino target is guaranteed to fall into the next btree
      record.
      
      With the fixes up to this point in the series, xfsdump now passes on
      the troublesome filesystem image that exposes all these bugs.
      
      cc: <stable@vger.kernel.org>
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Reviewed-by: NBrian Foster <bfoster@redhat.com>
      febe3cbe