1. 23 11月, 2012 2 次提交
    • J
      dm: fix deadlock with request based dm and queue request_fn recursion · a8c32a5c
      Jens Axboe 提交于
      Request based dm attempts to re-run the request queue off the
      request completion path. If used with a driver that potentially does
      end_io from its request_fn, we could deadlock trying to recurse
      back into request dispatch. Fix this by punting the request queue
      run to kblockd.
      
      Tested to fix a quickly reproducible deadlock in such a scenario.
      
      Cc: stable@kernel.org
      Acked-by: NAlasdair G Kergon <agk@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      a8c32a5c
    • J
      floppy: destroy floppy workqueue before cleaning up the queue · eac7cc52
      Jiri Kosina 提交于
      We need to first destroy the floppy_wq workqueue before cleaning up
      the queue. Otherwise we might race with still pending work with the
      workqueue, but all the block queue already gone. This might lead to
      various oopses, such as
      
       CPU 0
       Pid: 6, comm: kworker/u:0 Not tainted 3.7.0-rc4 #1 Bochs Bochs
       RIP: 0010:[<ffffffff8134eef5>]  [<ffffffff8134eef5>] blk_peek_request+0xd5/0x1c0
       RSP: 0000:ffff88000dc7dd88  EFLAGS: 00010092
       RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000000
       RDX: ffff88000f602688 RSI: ffffffff81fd95d8 RDI: 6b6b6b6b6b6b6b6b
       RBP: ffff88000dc7dd98 R08: ffffffff81fd95c8 R09: 0000000000000000
       R10: ffffffff81fd9480 R11: 0000000000000001 R12: 6b6b6b6b6b6b6b6b
       R13: ffff88000dc7dfd8 R14: ffff88000dc7dfd8 R15: 0000000000000000
       FS:  0000000000000000(0000) GS:ffffffff81e21000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
       CR2: 0000000000000000 CR3: 0000000001e11000 CR4: 00000000000006f0
       DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
       Process kworker/u:0 (pid: 6, threadinfo ffff88000dc7c000, task ffff88000dc5ecc0)
       Stack:
        0000000000000000 0000000000000000 ffff88000dc7ddb8 ffffffff8134efee
        ffff88000dc7ddb8 0000000000000000 ffff88000dc7dde8 ffffffff814aef3c
        ffffffff81e75d80 ffff88000dc0c640 ffff88000fbfb000 ffffffff814aed90
       Call Trace:
        [<ffffffff8134efee>] blk_fetch_request+0xe/0x30
        [<ffffffff814aef3c>] redo_fd_request+0x1ac/0x400
        [<ffffffff814aed90>] ? start_motor+0x130/0x130
        [<ffffffff8106b526>] process_one_work+0x136/0x450
        [<ffffffff8106af65>] ? manage_workers+0x205/0x2e0
        [<ffffffff8106bb6d>] worker_thread+0x14d/0x420
        [<ffffffff8106ba20>] ? rescuer_thread+0x1a0/0x1a0
        [<ffffffff8107075a>] kthread+0xba/0xc0
        [<ffffffff810706a0>] ? __kthread_parkme+0x80/0x80
        [<ffffffff818b553a>] ret_from_fork+0x7a/0xb0
        [<ffffffff810706a0>] ? __kthread_parkme+0x80/0x80
       Code: 0f 84 c0 00 00 00 83 f8 01 0f 85 e2 00 00 00 81 4b 40 00 00 80 00 48 89 df e8 58 f8 ff ff be fb ff ff ff
       fe ff ff <49> 8b 1c 24 49 39 dc 0f 85 2e ff ff ff 41 0f b6 84 24 28 04 00
       RIP  [<ffffffff8134eef5>] blk_peek_request+0xd5/0x1c0
        RSP <ffff88000dc7dd88>
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Tested-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      eac7cc52
  2. 05 11月, 2012 1 次提交
  3. 04 11月, 2012 4 次提交
    • L
      Merge tag 'nfs-for-3.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · d4164973
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Trond Myklebust:
      
       - Fix a bunch of deadlock situations:
         * State recovery can deadlock if we fail to release sequence ids
           before scheduling the recovery thread.
         * Calling deactivate_super() from an RPC workqueue thread can
           deadlock because of the call to rpc_shutdown_client.
      
       - Display the device name correctly in /proc/*/mounts
      
       - Fix a number of incorrect error return values:
         * When NFSv3 mounts fail due to a timeout.
         * On NFSv4.1 backchannel setup failure
         * On NFSv4 open access checks
      
       - pnfs_find_alloc_layout() must check the layout pointer for NULL
      
       - Fix a regression in the legacy DNS resolved
      
      * tag 'nfs-for-3.7-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS4: nfs4_opendata_access should return errno
        NFSv4: Initialise the NFSv4.1 slot table highest_used_slotid correctly
        SUNRPC: return proper errno from backchannel_rqst
        NFS: add nfs_sb_deactive_async to avoid deadlock
        nfs: Show original device name verbatim in /proc/*/mount{s,info}
        nfsv3: Make v3 mounts fail with ETIMEDOUTs instead EIO on mountd timeouts
        nfs: Check whether a layout pointer is NULL before free it
        NFS: fix bug in legacy DNS resolver.
        NFSv4: nfs4_locku_done must release the sequence id
        NFSv4.1: We must release the sequence id when we fail to get a session slot
        NFS: Wait for session recovery to finish before returning
      d4164973
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 225ff868
      Linus Torvalds 提交于
      Pull thermal management & ACPI update from Zhang Rui,
      
      Ho humm.  Normally these things go through Len.  But it's just three
      small fixes, I guess I can pull directly too.
      
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        exynos4_tmu_driver_ids should be exynos_tmu_driver_ids.
        ACPI video: Ignore errors after _DOD evaluation.
        thermal: solve compilation errors in rcar_thermal
      225ff868
    • L
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 209c510e
      Linus Torvalds 提交于
      Pull i2c embedded fixes from Wolfram Sang:
       "Two patches are usual stuff.
      
        The bigger patch is needed to correct a wrong decision made in this
        merge window.  We hoped to get the PIOQUEUE mode in the mxs driver
        working with DMA, but it turned out to be too broken (leading to data
        loss), so we now think it is best to remove it entirely and work only
        with DMA now.  The patch should be in 3.7.  IMO, so users never get
        the chance to use both modes in parallel."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: tegra: set irq name as device name
        i2c-nomadik: Fixup clock handling
        i2c: mxs: remove broken PIOQUEUE support
      209c510e
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 53f9313f
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Scattered selection of fixes:
      
         - radeon: load detect fixes from SuSE/AMD
         - intel: misc i830, sdvo regression, vesafb kickoff ums fix
         - exynos: maintainers entry update + fixes
         - udl: fix stride scanout issue
      
        it's slightly bigger than I'd probably like, but nothing looked
        dangerous enough to hold off on."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/udl: fix stride issues scanning out stride != width*bpp
        drm/radeon: add load detection support for ext DAC on R200 (v2)
        DRM/radeon: For single CRTC GPUs move handling of CRTC_CRT_ON to crtc_dpms().
        DRM/Radeon: Fix TV DAC Load Detection for single CRTC chips.
        DRM/Radeon: Clean up code in TV DAC load detection.
        drm/radeon: fix ATPX function documentation
        drivers/gpu/drm/radeon/evergreen_cs.c: Remove unnecessary semicolon
        DRM/Radeon: On DVI-I use Load Detection when EDID is bogus.
        DRM/Radeon: Fix primary DAC Load Detection for RV100 chips.
        DRM/Radeon: Fix Load Detection on legacy primary DAC.
        drm: exynos: removed warning due to missing typecast for mixer driver data
        drm/exynos: add support for ARCH_MULTIPLATFORM
        MAINTAINERS: Add git repository for Exynos DRM
        drm/exynos: fix display on issue
        drm/i915: Only kick out vesafb if we takeover the fbcon with KMS
        drm/i915: be less verbose about inability to provide vendor backlight
        drm/i915: clear the entire sdvo infoframe buffer
        drm/i915: VGA needs to be on pipe A on i830M
        drm/i915: fix overlay on i830M
      53f9313f
  4. 03 11月, 2012 21 次提交
  5. 02 11月, 2012 12 次提交