1. 24 4月, 2009 40 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 9fe9293d
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68knommu: update the default config for the ColdFire 5407C3 board
        m68knommu: update the default config for the ColdFire 5307C3 board
        m68knommu: update the default config for the ColdFire 5257EVB board
        m68knommu: update the default config for the ColdFire 5249EVB.
        m68knommu: add a defconfig for the ColdFire M5272C3 board
        m68knommu: update the defconfig for the ColdFire 5208evb board
        m68knommu: fix DMA support for ColdFire
        m68knommu: remove unused kernel stats offsets
        m68knommu: fix missing .data.cacheline_aligned section
        m68knommu: Fixed GPIO pin initialization for CONFIG_M5271 FEC.
      9fe9293d
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · a4277bf1
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: Fix potential inode allocation soft lockup in Orlov allocator
        ext4: Make the extent validity check more paranoid
        jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records
        jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records
        ext4: really print the find_group_flex fallback warning only once
      a4277bf1
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 6ae85d6d
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 5460/1: Orion: reduce namespace pollution
        [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config
        [ARM] 5457/1: mach-imx gpio buildfix
        [ARM] 5456/1: add sys_preadv and sys_pwritev
        [ARM] pxa/pcm990: start external GPIOs immediately after built-in ones
        [ARM] pxa/palm27x: General fix for Palm27x aSoC driver
        [ARM] pxa/mioa701: use GPIO95 as AC97 reset line
        [ARM] pxa: merge AC97 platform data structures
        [ARM] pxa/magician: remove un-necessary #include of pxa-regs.h and hardware.h
      6ae85d6d
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · d72cd3a9
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
        USB: pwc : do not pass stack allocated buffers to USB core.
        USB: otg: Fix bug on remove path without transceiver
        USB: correct error handling in cdc-wdm
        USB: removal of tty->low_latency hack dating back to the old serial code
        USB: serial: sierra driver bug fix for composite interface
        USB: gadget: omap_udc uses platform_driver_probe()
        USB: ci13xxx_udc: fix build error
        USB: musb: Prevent multiple includes of musb.h
        USB: pass mem_flags to dma_alloc_coherent
        USB: g_file_storage: fix use-after-free bug when closing files
        USB: ehci-sched.c: EHCI SITD scheduling bugfix
        USB: fix mos7840 problem with minor numbers
        USB: mos7840: add new device id
        USB: musb: fix build when !CONFIG_PM
        USB: musb: Remove my email address from few musb related drivers
        USB: Gadget: MIPS CI13xxx UDC bugfixes
        USB: Unusual Device support for Gold MP3 Player Energy
        USB: serial: fix lifetime and locking problems
      d72cd3a9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · ff91fad2
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
        eCryptfs: Larger buffer for encrypted symlink targets
        eCryptfs: Lock lower directory inode mutex during lookup
        eCryptfs: Remove ecryptfs_unlink_sigs warnings
        eCryptfs: Fix data corruption when using ecryptfs_passthrough
        eCryptfs: Print FNEK sig properly in /proc/mounts
        eCryptfs: NULL pointer dereference in ecryptfs_send_miscdev()
        eCryptfs: Copy lower inode attrs before dentry instantiation
      ff91fad2
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 198aa045
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Update defconfigs for 2.6.30-rc3
        m68k,m68knommu: Wire up preadv and pwritev
        scsi: a4000 - Correct driver unregistration in case of failure
      198aa045
    • L
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 58be18c4
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] update default configuration.
        [S390] omit frame pointers on s390 when possible
        [S390] Use tape_generic_offline directly.
        [S390] /proc/stat idle field for idle cpus
        [S390] appldata: avoid deadlock with appldata_mem
        [S390] ipl: fix compile breakage
      58be18c4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · 12bac708
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Ensure that the inode goal block settings are updated
        GFS2: Fix bug in block allocation
        bitops: Add __ffs64 bitop
      12bac708
    • L
      Merge branch 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 60911731
      Linus Torvalds 提交于
      * 'kvm-updates/2.6.30' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: Unregister cpufreq notifier on unload
        KVM: x86: release time_page on vcpu destruction
        KVM: Fix overlapping check for memory slots
        KVM: MMU: disable global page optimization
        KVM: ia64: fix locking order entering guest
        KVM: MMU: Fix off-by-one calculating large page count
      60911731
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · d1f53fb9
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
        MAINTAINERS: update IDE entry
        palm_bk3710: palm_bk3710_udmatimings[] CodingStyle fixup
        palm_bk3710: those registers/bitfields don't exist
        mediabay: fix build for CONFIG_BLOCK=n
        ide: Stop disks on reboot for laptop which cuts power
        ide-cd: fix kernel crash on hppa regression
        palm_bk3710: UDMA performance fix
      d1f53fb9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 90c8fce5
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Add quirk for Packard Bell RS65
        [ALSA] intel8x0: another attempt to fix ac97_clock measure routine
        [ALSA] ac97_codec: increase timeout for analog subsections
        ALSA: hda - Add quirks for Realtek codecs
        ALSA: hda - Fix alc662_init_verbs
        ALSA: keywest: Convert to new-style i2c driver
        ALSA: AOA: Convert onyx and tas codecs to new-style i2c drivers
        ALSA: Atiixp: Add SSID for mute_led quirk (unknown HP model)
        ALSA: us122l: add snd_us122l_free()
        ASoC: Fix warning in wm9705
        ASoC: OMAP: Update contact addresses
        ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
        ALSA: us122l: Fix signedness in comparisions
      90c8fce5
    • A
      radio_si470x: Fix free memory corruption · ec5f5bf8
      Alan Cox 提交于
      The release path for a disconnected device frees the object then unlocks
      the mutex in the freed object...
      
      Found by Dan Carpenter using Smatch
      Signed-off-by: NAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ec5f5bf8
    • N
      serial: remove contact data · 79e95eba
      Niels de Vos 提交于
      Remove my name and emailaddress from note in the source. Wincor Nixdorf
      only has some ITE-chips on their mainboards, other chips are not
      available for me for testing.
      Signed-off-by: NNiels de Vos <niels.devos@wincor-nixdorf.com>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      79e95eba
    • A
      cafe_nand: Fix warning · 67cd724f
      Alan Cox 提交于
      Wrong types on IRQ handler
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      67cd724f
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 97c68d00
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        cfq-iosched: cache prio_tree root in cfqq->p_root
        cfq-iosched: fix bug with aliased request and cooperation detection
        cfq-iosched: clear ->prio_trees[] on cfqd alloc
        block: fix intermittent dm timeout based oops
        umem: fix request_queue lock warning
        block: simplify I/O stat accounting
        pktcdvd.h should include mempool.h
        cfq-iosched: use the default seek distance when there aren't enough seek samples
        cfq-iosched: make seek_mean converge more quickly
        block: make blk_abort_queue() ignore non-request based devices
        block: include empty disks in /proc/diskstats
        bio: use bio_kmalloc() in copy/map functions
        bio: fix bio_kmalloc()
        block: fix queue bounce limit setting
        block: fix SG_IO vector request data length handling
        scatterlist: make sure sg_miter_next() doesn't return 0 sized mappings
      97c68d00
    • D
      MN10300: Update the ASB2303 defconfig · 596a5c4e
      David Howells 提交于
      Update the defconfig for the ASB2303 evaluation board.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      596a5c4e
    • J
      Delete slow-work timers properly · 418df63c
      Jonathan Corbet 提交于
      Slow-work appears to delete its timer as soon as the first user
      unregisters, even though other users could be active.  At the same time, it
      never seems to delete slow_work_oom_timer.  Arrange for both to happen in
      the shutdown path.
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      418df63c
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 3e241ff0
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (94 commits)
        netfilter: ctnetlink: fix gcc warning during compilation
        net/netrom: Fix socket locking
        netlabel: Always remove the correct address selector
        ucc_geth.c: Fix upsmr setting in RMII mode
        8139too: fix HW initial flow
        af_iucv: Fix race when queuing incoming iucv messages
        af_iucv: Test additional sk states in iucv_sock_shutdown
        af_iucv: Reject incoming msgs if RECV_SHUTDOWN is set
        af_iucv: fix oops in iucv_sock_recvmsg() for MSG_PEEK flag
        af_iucv: consider state IUCV_CLOSING when closing a socket
        iwlwifi: DMA fixes
        iwlwifi: add debugging for TX path
        mwl8: fix build warning.
        mac80211: fix alignment calculation bug
        mac80211: do not print WARN if config interface
        iwl3945: use cancel_delayed_work_sync to cancel rfkill_poll
        iwlwifi: fix EEPROM validation mask to include OTP only devices
        atmel: fix netdev ops conversion
        pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM
        mlx4_en: Fix cleanup if workqueue create in mlx4_en_add() fails
        ...
      3e241ff0
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · dc0046c7
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc: Fix bus type probing for ESP and LE devices.
        sparc32: Update defconfig.
        sparc64: Update defconfig.
      dc0046c7
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · f8c3301e
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc: Fix modular build of ide-pmac when mediabay is built in
        powerpc/pasemi: Fix build error on UP
        powerpc: Make macintosh/mediabay driver depend on CONFIG_BLOCK
        maintainers: Fix PS3 patterns
        powerpc/ps3: Fix CONFIG_PS3_FLASH=n build warning
        powerpc/32: Don't clobber personality flags on exec
        powerpc: Fix crash on CPU hotplug
        powerpc/85xx: Remove defconfigs that mpc85xx_{smp_}defconfig cover
        powerpc/85xx: Added SMP defconfig
        powerpc/85xx: Enabled a bunch of FSL specific drivers/options
        powerpc/85xx: Updated generic mpc85xx_defconfig
        powerpc: don't disable SATA interrupts on Freescale MPC8610 HPCD
        fsl_rio: Pass the proper device to dma mapping routines
        powerpc: Fix of_node_put() exit path in of_irq_map_one()
        powerpc/5200: defconfig updates
        powerpc/5200: Add FLASH nodes to lite5200 device tree
        powerpc/device-tree: Document MTD nodes with multiple "reg" tuples
        powerpc/of-device-tree: Factor MTD physmap bindings out of booting-without-of
        powerpc/5200: Bring the legacy fsl_spi_platform_data hooks back
      f8c3301e
    • O
      check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/ · 437f7fdb
      Oleg Nesterov 提交于
      write_lock(&current->fs->lock) guarantees we can't wrongly miss
      LSM_UNSAFE_SHARE, this is what we care about. Use rcu_read_lock()
      instead of ->siglock to iterate over the sub-threads. We must see
      all CLONE_THREAD|CLONE_FS threads which didn't pass exit_fs(), it
      takes fs->lock too.
      
      With or without this patch we can miss the freshly cloned thread
      and set LSM_UNSAFE_SHARE, we don't care.
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      Acked-by: NRoland McGrath <roland@redhat.com>
      [ Fixed lock/unlock typo  - Hugh ]
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      437f7fdb
    • O
      do_execve() must not clear fs->in_exec if it was set by another thread · 8c652f96
      Oleg Nesterov 提交于
      If do_execve() fails after check_unsafe_exec(), it clears fs->in_exec
      unconditionally. This is wrong if we race with our sub-thread which
      also does do_execve:
      
      	Two threads T1 and T2 and another process P, all share the same
      	->fs.
      
      	T1 starts do_execve(BAD_FILE). It calls check_unsafe_exec(), since
      	->fs is shared, we set LSM_UNSAFE but not ->in_exec.
      
      	P exits and decrements fs->users.
      
      	T2 starts do_execve(), calls check_unsafe_exec(), now ->fs is not
      	shared, we set fs->in_exec.
      
      	T1 continues, open_exec(BAD_FILE) fails, we clear ->in_exec and
      	return to the user-space.
      
      	T1 does clone(CLONE_FS /* without CLONE_THREAD */).
      
      	T2 continues without LSM_UNSAFE_SHARE while ->fs is shared with
      	another process.
      
      Change check_unsafe_exec() to return res = 1 if we set ->in_exec, and change
      do_execve() to clear ->in_exec depending on res.
      
      When do_execve() suceeds, it is safe to clear ->in_exec unconditionally.
      It can be set only if we don't share ->fs with another process, and since
      we already killed all sub-threads either ->in_exec == 0 or we are the
      only user of this ->fs.
      
      Also, we do not need fs->lock to clear fs->in_exec.
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      Acked-by: NRoland McGrath <roland@redhat.com>
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8c652f96
    • J
      cfq-iosched: cache prio_tree root in cfqq->p_root · f2d1f0ae
      Jens Axboe 提交于
      Currently we look it up from ->ioprio, but ->ioprio can change if
      either the process gets its IO priority changed explicitly, or if
      cfq decides to temporarily boost it. So if we are unlucky, we can
      end up attempting to remove a node from a different rbtree root than
      where it was added.
      
      Fix this by using ->org_ioprio as the prio_tree index, since that
      will only change for explicit IO priority settings (not for a boost).
      Additionally cache the rbtree root inside the cfqq, then we don't have
      to add code to reinsert the cfqq in the prio_tree if IO priority changes.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      f2d1f0ae
    • J
      cfq-iosched: fix bug with aliased request and cooperation detection · 3ac6c9f8
      Jens Axboe 提交于
      cfq_prio_tree_lookup() should return the direct match, yet it always
      returns zero. Fix that.
      
      cfq_prio_tree_add() assumes that we don't get a direct match, while
      it is very possible that we do. Using O_DIRECT, you can have different
      cfqq with matching requests, since you don't have the page cache
      to serialize things for you. Fix this bug by only adding the cfqq if
      there isn't an existing match.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      3ac6c9f8
    • J
      cfq-iosched: clear ->prio_trees[] on cfqd alloc · 26a2ac00
      Jens Axboe 提交于
      Not strictly needed, but we should make it clear that we init the
      rbtree roots here.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      26a2ac00
    • H
      block: fix intermittent dm timeout based oops · 17d5c8ca
      Hannes Reinecke 提交于
      Very rarely under stress testing of dm, oopses are occuring as
      something tampers with an old stack frame.  This has been traced back
      to blk_abort_queue() leaving a timeout_list pointing to the stack.
      The reason is that sometimes blk_abort_request() won't delete the
      timer (if the request is marked as complete but before the timer has
      been removed, a small race window).  Fix this by splicing back from
      the ususally empty list to the q->timeout_list.
      Signed-off-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      17d5c8ca
    • S
      umem: fix request_queue lock warning · f3c737de
      Sage Weil 提交于
      The umem driver issues two warnings on boot, due to blk_plug_device() and
      blk_remove_plug() being called without q->queue_lock held.  Starting with
      e48ec690 (block: extend queue_flag bitops), the queue_flag_* functions
      warn if q->queue_lock doesn't appear to be locked.  In fact, q->queue_lock
      is NULL (though that apparently isn't otherwise a problem as the driver is
      using card->lock for everything).
      
      Although blk_init_queue() with take a request_fn_proc and spinlock_t*,
      there isn't a corresponding init helper that takes a make_request_fn.
      Setting queue_lock to &card->lock explicitly seems to work fine for me.
      The warning goes away and the device appears to behave.
      
      [    1.531881] v2.3 : Micro Memory(tm) PCI memory board block driver
      [    1.538136] umem 0000:02:01.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
      [    1.545018] umem 0000:02:01.0: Micro Memory(tm) controller found (PCI Mem Module (Battery Backup))
      [    1.554176] umem 0000:02:01.0: CSR 0xfc9ffc00 -> 0xffffc200013d0c00 (0x100)
      [    1.561279] umem 0000:02:01.0: Size 1048576 KB, Battery 1 Disabled (FAILURE), Battery 2 Disabled (FAILURE)
      [    1.571114] umem 0000:02:01.0: Window size 16777216 bytes, IRQ 20
      [    1.577304] umem 0000:02:01.0: memory NOT initialized. Consider over-writing whole device.
      [    1.585989]  umema:<4>------------[ cut here ]------------
      [    1.591775] WARNING: at include/linux/blkdev.h:492 blk_plug_device+0x6d/0x106()
      [    1.592025] Hardware name: H8SSL
      [    1.592025] Modules linked in:
      [    1.592025] Pid: 1, comm: swapper Not tainted 2.6.29 #8
      [    1.592025] Call Trace:
      [    1.592025]  [<ffffffff8023c994>] warn_slowpath+0xd3/0xf2
      [    1.592025]  [<ffffffff8025a5b5>] ? save_trace+0x3f/0x9b
      [    1.592025]  [<ffffffff8025a68b>] ? add_lock_to_list+0x7a/0xba
      [    1.592025]  [<ffffffff8025e609>] ? validate_chain+0xb3b/0xce8
      [    1.592025]  [<ffffffff80441556>] ? mm_make_request+0x27/0x59
      [    1.592025]  [<ffffffff80441556>] ? mm_make_request+0x27/0x59
      [    1.592025]  [<ffffffff8025ef04>] ? __lock_acquire+0x74e/0x7b9
      [    1.592025]  [<ffffffff8025a70e>] ? get_lock_stats+0x34/0x5e
      [    1.592025]  [<ffffffff8025a746>] ? put_lock_stats+0xe/0x27
      [    1.592025]  [<ffffffff80441556>] ? mm_make_request+0x27/0x59
      [    1.592025]  [<ffffffff803ad165>] blk_plug_device+0x6d/0x106
      [    1.592025]  [<ffffffff80441575>] mm_make_request+0x46/0x59
      [    1.592025]  [<ffffffff803ac2d9>] generic_make_request+0x335/0x3cf
      [    1.592025]  [<ffffffff8027fcc7>] ? mempool_alloc_slab+0x11/0x13
      [    1.592025]  [<ffffffff8027fdce>] ? mempool_alloc+0x45/0x101
      [    1.592025]  [<ffffffff8025a746>] ? put_lock_stats+0xe/0x27
      [    1.592025]  [<ffffffff803adda5>] submit_bio+0x10a/0x119
      [    1.592025]  [<ffffffff802c8d00>] submit_bh+0xe5/0x109
      [    1.592025]  [<ffffffff802cbf43>] block_read_full_page+0x2aa/0x2cb
      [    1.592025]  [<ffffffff802cf4c4>] ? blkdev_get_block+0x0/0x4c
      [    1.592025]  [<ffffffff805c90a8>] ? _spin_unlock_irq+0x36/0x51
      [    1.592025]  [<ffffffff80286836>] ? __lru_cache_add+0x92/0xb2
      [    1.592025]  [<ffffffff802cf008>] blkdev_readpage+0x13/0x15
      [    1.592025]  [<ffffffff8027de06>] read_cache_page_async+0x90/0x134
      [    1.592025]  [<ffffffff802ceff5>] ? blkdev_readpage+0x0/0x15
      [    1.592025]  [<ffffffff802f5f1c>] ? adfspart_check_ICS+0x0/0x16c
      [    1.592025]  [<ffffffff8027deb8>] read_cache_page+0xe/0x45
      [    1.592025]  [<ffffffff802f5170>] read_dev_sector+0x2e/0x93
      [    1.592025]  [<ffffffff802f5f44>] adfspart_check_ICS+0x28/0x16c
      [    1.592025]  [<ffffffff8025d427>] ? trace_hardirqs_on+0xd/0xf
      [    1.592025]  [<ffffffff802f5f1c>] ? adfspart_check_ICS+0x0/0x16c
      [    1.592025]  [<ffffffff802f59c5>] rescan_partitions+0x168/0x2fb
      [    1.592025]  [<ffffffff802ceae9>] __blkdev_get+0x259/0x336
      [    1.592025]  [<ffffffff803ca1e2>] ? kobject_put+0x47/0x4b
      [    1.592025]  [<ffffffff802cebd1>] blkdev_get+0xb/0xd
      [    1.592025]  [<ffffffff802f5773>] register_disk+0xc4/0x12b
      [    1.592025]  [<ffffffff803b2a7b>] add_disk+0xc3/0x12d
      [    1.592025]  [<ffffffff808a1d4a>] ? mm_init+0x0/0x1a5
      [    1.592025]  [<ffffffff808a1e73>] mm_init+0x129/0x1a5
      [    1.592025]  [<ffffffff808a1d4a>] ? mm_init+0x0/0x1a5
      [    1.592025]  [<ffffffff80209056>] _stext+0x56/0x130
      [    1.592025]  [<ffffffff80274932>] ? register_irq_proc+0xae/0xca
      [    1.592025]  [<ffffffff802f0000>] ? proc_pid_lookup+0xb4/0x18b
      [    1.592025]  [<ffffffff8087f975>] kernel_init+0x132/0x18b
      [    1.592025]  [<ffffffff8020d17a>] child_rip+0xa/0x20
      [    1.592025]  [<ffffffff8020cb40>] ? restore_args+0x0/0x30
      [    1.592025]  [<ffffffff8087f843>] ? kernel_init+0x0/0x18b
      [    1.592025]  [<ffffffff8020d170>] ? child_rip+0x0/0x20
      [    1.592025] ---[ end trace 7150b3b86da74e1e ]---
      [    1.889858] ------------[ cut here ]------------[ve_plug+0x5f/0x91()
      [    1.893848] Hardware name: H8SSL
      [    1.893848] Modules linked in:
      [    1.893848] Pid: 1, comm: swapper Tainted: G        W  2.6.29 #8
      [    1.893848] Call Trace:
      [    1.893848]  [<ffffffff8023c994>] warn_slowpath+0xd3/0xf2
      [    1.893848]  [<ffffffff805c8411>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [    1.893848]  [<ffffffff8020cb40>] ? restore_args+0x0/0x30
      [    1.893848]  [<ffffffff80254245>] ? __atomic_notifier_call_chain+0x0/0xb2
      [    1.893848]  [<ffffffff805c90a3>] ? _spin_unlock_irq+0x31/0x51
      [    1.893848]  [<ffffffff805c90bf>] ? _spin_unlock_irq+0x4d/0x51
      [    1.893848]  [<ffffffff8044157d>] ? mm_make_request+0x4e/0x59
      [    1.893848]  [<ffffffff8025a70e>] ? get_lock_stats+0x34/0x5e
      [    1.893848]  [<ffffffff8025a75d>] ? put_lock_stats+0x25/0x27
      [    1.893848]  [<ffffffff80441504>] ? mm_unplug_device+0x25/0x50
      [    1.893848]  [<ffffffff803acf23>] blk_remove_plug+0x5f/0x91
      [    1.893848]  [<ffffffff8044150f>] mm_unplug_device+0x30/0x50
      [    1.893848]  [<ffffffff803ab74a>] blk_unplug+0x78/0x7d
      [    1.893848]  [<ffffffff803ab75c>] blk_backing_dev_unplug+0xd/0xf
      [    1.893848]  [<ffffffff802c853c>] block_sync_page+0x4a/0x4c
      [    1.893848]  [<ffffffff8027da1c>] sync_page+0x44/0x4d
      [    1.893848]  [<ffffffff805c66fd>] __wait_on_bit_lock+0x42/0x8a
      [    1.893848]  [<ffffffff8027d9d8>] ? sync_page+0x0/0x4d
      [    1.893848]  [<ffffffff8027d9c4>] __lock_page+0x64/0x6b
      [    1.893848]  [<ffffffff802508db>] ? wake_bit_function+0x0/0x2a
      [    1.893848]  [<ffffffff8027de4a>] read_cache_page_async+0xd4/0x134
      [    1.893848]  [<ffffffff802ceff5>] ? blkdev_readpage+0x0/0x15
      [    1.893848]  [<ffffffff802f5f1c>] ? adfspart_check_ICS+0x0/0x16c
      [    1.893848]  [<ffffffff8027deb8>] read_cache_page+0xe/0x45
      [    1.893848]  [<ffffffff802f5170>] read_dev_sector+0x2e/0x93
      [    1.893848]  [<ffffffff802f5f44>] adfspart_check_ICS+0x28/0x16c
      [    1.893848]  [<ffffffff8025d427>] ? trace_hardirqs_on+0xd/0xf
      [    1.893848]  [<ffffffff802f5f1c>] ? adfspart_check_ICS+0x0/0x16c
      [    1.893848]  [<ffffffff802f59c5>] rescan_partitions+0x168/0x2fb
      [    1.893848]  [<ffffffff802ceae9>] __blkdev_get+0x259/0x336
      [    1.893848]  [<ffffffff803ca1e2>] ? kobject_put+0x47/0x4b
      [    1.893848]  [<ffffffff802cebd1>] blkdev_get+0xb/0xd
      [    1.893848]  [<ffffffff802f5773>] register_disk+0xc4/0x12b
      [    1.893848]  [<ffffffff803b2a7b>] add_disk+0xc3/0x12d
      [    1.893848]  [<ffffffff808a1d4a>] ? mm_init+0x0/0x1a5
      [    1.893848]  [<ffffffff808a1e73>] mm_init+0x129/0x1a5
      [    1.893848]  [<ffffffff808a1d4a>] ? mm_init+0x0/0x1a5
      [    1.893848]  [<ffffffff80209056>] _stext+0x56/0x130
      [    1.893848]  [<ffffffff80274932>] ? register_irq_proc+0xae/0xca
      [    1.893848]  [<ffffffff802f0000>] ? proc_pid_lookup+0xb4/0x18b
      [    1.893848]  [<ffffffff8087f975>] kernel_init+0x132/0x18b
      [    1.893848]  [<ffffffff8020d17a>] child_rip+0xa/0x20
      [    1.893848]  [<ffffffff8020cb40>] ? restore_args+0x0/0x30
      [    1.893848]  [<ffffffff8087f843>] ? kernel_init+0x0/0x18b
      [    1.893848]  [<ffffffff8020d170>] ? child_rip+0x0/0x20
      [    1.893848] ---[ end trace 7150b3b86da74e1f ]---
      Signed-off-by: NSage Weil <sage@newdream.net>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      f3c737de
    • J
      block: simplify I/O stat accounting · 42dad764
      Jerome Marchand 提交于
      This simplifies I/O stat accounting switching code and separates it
      completely from I/O scheduler switch code.
      
      Requests are accounted according to the state of their request queue
      at the time of the request allocation. There is no need anymore to
      flush the request queue when switching I/O accounting state.
      Signed-off-by: NJerome Marchand <jmarchan@redhat.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      42dad764
    • A
      pktcdvd.h should include mempool.h · 097102c2
      Alexander Beregalov 提交于
      Fix this build error:
      In file included from fs/compat_ioctl.c:104:
      include/linux/pktcdvd.h:285: error: expected specifier-qualifier-list before 'mempool_t'
      Signed-off-by: NAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      097102c2
    • N
      [ARM] 5460/1: Orion: reduce namespace pollution · fdd8b079
      Nicolas Pitre 提交于
      Symbols like SOFT_RESET are way too generic to be exported at large.
      To avoid this, let's move the mbus bridge register defines into a
      separate file and include it where needed.  This affects mach-kirkwood,
      mach-loki, mach-mv78xx0 and mach-orion5x simultaneously as they all
      share code in plat-orion which relies on those defines.
      
      Some other defines have been moved to narrower scopes, or simply deleted
      when they had no user.
      
      This fixes compilation problem with mpt2sas on the above listed
      platforms.
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fdd8b079
    • D
      [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config · ae1036a2
      Dmitry Baryshkov 提交于
      Check if we really have Scoop config, otherwice we can get a nice Oops
      during probe.
      Signed-off-by: NDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ae1036a2
    • M
      USB: pwc : do not pass stack allocated buffers to USB core. · 6b35ca0d
      Martin Fuzzey 提交于
      This is causes problems on platforms that have alignment requirements
      for DMA transfers.
      Signed-off-by: NMartin Fuzzey <mfuzzey@gmail.com>
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      6b35ca0d
    • R
      USB: otg: Fix bug on remove path without transceiver · ecf85e48
      Robert Jarzmik 提交于
      In the case where a gadget driver is removed while no
      transceiver was found at probe time, a bug in
      otg_put_transceiver() will trigger.
      
      Provide symetric calls for otg_get_transceiver() and
      otg_put_transceiver(), wherever a transceiver was found or
      not.
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ecf85e48
    • O
      USB: correct error handling in cdc-wdm · 052fbc0d
      Oliver Neukum 提交于
      This patch to cdc-wdm
      
      - checks for partial extra descriptors
      - fixes a leak in the error case of probe
      - checks for an exact number of endpoints
      - adds a clarifying comment
      Signed-off-by: NOliver Neukum <oliver@neukum.org>
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      052fbc0d
    • O
      USB: removal of tty->low_latency hack dating back to the old serial code · 2400a2bf
      Oliver Neukum 提交于
      This removes tty->low_latency from all USB serial drivers that push
      data into the tty layer at hard interrupt context. It's no longer needed
      and actually harmful.
      Signed-off-by: NOliver Neukum <oliver@neukum.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      2400a2bf
    • E
      USB: serial: sierra driver bug fix for composite interface · 212b8f0c
      Elina Pasheva 提交于
      This patch fixes a problem in sierra_send_setup() function when
      composite devices are used. One should not be sending ACM commands to
      interfaces that are OBEX. Doing this causes an apparent failure as the
      ACM command has to time out before the interface can start being used.
      Signed-off-by: NElina Pasheva <epasheva@sierrawireless.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      212b8f0c
    • D
      USB: gadget: omap_udc uses platform_driver_probe() · 864e28b4
      David Brownell 提交于
      We now have a more correct solution for shrinking runtime driver
      footprints than just marking probe() as __init ... use it.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      864e28b4
    • M
      USB: ci13xxx_udc: fix build error · 36825a2d
      Matthias Kaehlcke 提交于
      Fix build error in the MIPS USB IP core family device controller driver.
      The driver calls udelay() without including linux/delay.h
      Signed-off-by: NMatthias Kaehlcke <matthias@kaehlcke.net>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      36825a2d
    • M
      USB: musb: Prevent multiple includes of musb.h · fbfc396e
      Mark A. Greer 提交于
      Add #ifndef to musb header file to prevent multiple inclusions.
      Signed-off-by: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fbfc396e
    • J
      USB: pass mem_flags to dma_alloc_coherent · a8aa401f
      Johannes Berg 提交于
      When I want to use my webcam, I get:
      
                                       vvvvvvv
      cheese: page allocation failure. order:5, mode:0x8004
      Pid: 8100, comm: cheese Not tainted 2.6.30-rc2-wl-dirty #102
      Call Trace:
       [<ffffffff802c5d8e>] __alloc_pages_internal+0x3fe/0x520
       [<ffffffff80210a20>] dma_generic_alloc_coherent+0x90/0x120
       [<ffffffffa001c91e>] hcd_buffer_alloc+0xee/0x130 [usbcore]
       [<ffffffffa000d52d>] usb_buffer_alloc+0x2d/0x40 [usbcore]
       [<ffffffffa0160e14>] uvc_alloc_urb_buffers+0x84/0x140 [uvcvideo]
       [<ffffffffa0160ff6>] uvc_init_video+0x126/0x400 [uvcvideo]
       [...]
      
      Oddly, I remembered fixing this and putting in __GFP_NOWARN
      because uvcvideo retries a smaller allocation. However, the
      allocation function doesn't pass the gfp flags through to
      dma_alloc_coherent so we still get the warning!
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a8aa401f