1. 12 May, 2006 1 commit
    • Linus Torvalds's avatar
      Revert "[BLOCK] Fix oops on removal of SD/MMC card" · 1a2acc9e
      Linus Torvalds authored
      This reverts commit 56cf6504.
      
      Both Erik Mouw and Andrew Vasquez independently pinpointed this commit
      as causing problems, where the slab cache for a driver is never released
      (most obviously causing problems when immediately re-loading that
      driver, resulting in a "kmem_cache_create: duplicate cache <xyz>"
      message, but it can also cause other trouble).
      
      James Bottomley dug into it, and reports:
      
        "OK, here's the scoop.  The problem patch adds a get of driverfs_dev in
         add_disk(), but doesn't put it again until disk_release() (which occurs
         on final put_disk() of the gendisk).
      
         However, in SCSI, the driverfs_dev is the sdev_gendev.  That means
         there's a reference held on sdev_gendev  until final disk put.
         Unfortunately, we use the driver model driver_remove to trigger
         del_gendisk (which removes the gendisk from visibility and decrements
         the refcount), so we've introduced an unbreakable deadlock in the
         reference counting with this.
      
         I suggest simply reversing this patch at the moment.  If Russell and
         Jens can tell me what they're trying to do I'll see if there's another
         way to do it."
      
      so hereby the patch gets reverted, waiting for a better fix.
      
      Cc: Jens Axboe <axboe@suse.de>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: James Bottomley <James.Bottomley@SteelEye.com>
      Cc: Erik Mouw <erik@harddisk-recovery.com>
      Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1a2acc9e
  2. 11 May, 2006 8 commits
    • Linus Torvalds's avatar
      Linux v2.6.17-rc4 · d8c3291c
      Linus Torvalds authored
      d8c3291c
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · d649dafd
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 3508/1: Update collie defconfig
        [ARM] Fix thread struct allocator for SMP case
        [ARM] Update mach-types
        [ARM] Update versatile_defconfig
      d649dafd
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-serial · 2bf9d6d0
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-serial:
        [SERIAL] 8250: add locking to console write function
        [SERIAL] Remove unconditional enable of TX irq for console
        [SERIAL] 8250: set divisor register correctly for AMD Alchemy SoC uart
        [SERIAL] AMD Alchemy UART: claim memory range
        [SERIAL] Clean up serial locking when obtaining a reference to a port
      2bf9d6d0
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · 6572b206
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [NET_SCHED]: HFSC: fix thinko in hfsc_adjust_levels()
        [IPV6]: skb leakage in inet6_csk_xmit
        [BRIDGE]: Do sysfs registration inside rtnl.
        [NET]: Do sysfs registration as part of register_netdevice.
        [TG3]: Fix possible NULL deref in tg3_run_loopback().
        [NET] linkwatch: Handle jiffies wrap-around
        [IRDA]: Switching to a workqueue for the SIR work
        [IRDA]: smsc-ircc: Minimal hotplug support.
        [IRDA]: Removing unused EXPORT_SYMBOLs
        [IRDA]: New maintainer.
        [NET]: Make netdev_chain a raw notifier.
        [IPV4]: ip_options_fragment() has no effect on fragmentation
        [NET]: Add missing operstates documentation.
      6572b206
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · f7a014af
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (25 commits)
        [SCSI] mptfc: race between mptfc_register_dev and mptfc_target_alloc
        [SCSI] lpfc 8.1.6 : Fix Data Corruption in Bus Reset Path
        [SCSI] mptspi: revalidate negotiation parameters after host reset and resume
        [SCSI] srp.h: avoid padding of structs
        [SCSI] ibmvscsi: fix leak when failing to send srp event
        [SCSI] qla2xxx: Correct eh_abort recovery logic.
        [SCSI] megaraid_{mm,mbox}: fix a bug in reset handler
        [SCSI] fusion - bug fix stack overflow in mptbase
        [SCSI] scsi: Add IBM 2104-DU3 to blist
        [SCSI] Fix DVD burning issues.
        [SCSI] SCSI: aic7xxx_osm_pci resource leak fix.
        [SCSI] - fusion - mptfc bug fix's to prevent deadlock situations
        [SCSI] mptfusion: bug fix's for raid components adding/deleting
        [SCSI] aic7xxx: ahc_pci_write_config() fix
        [SCSI] megaraid: unused variable
        [SCSI] qla2xxx: only free_irq() after request_irq() succeeds
        [SCSI] Overrun in drivers/scsi/sim710.c
        [SCSI] lpfc 8.1.5 : Change version number to 8.1.5
        [SCSI] lpfc 8.1.5 : Misc small fixes
        [SCSI] lpfc 8.1.5 : Additional fixes to LOGO, PLOGI, and RSCN processing
        ...
      f7a014af
    • Jens Axboe's avatar
      [BLOCK] limit request_fn recursion · dac07ec1
      Jens Axboe authored
      Don't recurse back into the driver even if the unplug threshold is met,
      when the driver asks for a requeue. This is both silly from a logical
      point of view (requeues typically happen due to driver/hardware
      shortage), and also dangerous since we could hit an endless request_fn
      -> requeue -> unplug -> request_fn loop and crash on stack overrun.
      
      Also limit blk_run_queue() to one level of recursion, similar to how
      blk_start_queue() works.
      
      This patch fixed a real problem with SLES10 and lpfc, and it could hit
      any SCSI lld that returns non-zero from it's ->queuecommand() handler.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      dac07ec1
    • Patrick McHardy's avatar
      [NET_SCHED]: HFSC: fix thinko in hfsc_adjust_levels() · 210525d6
      Patrick McHardy authored
      When deleting the last child the level of a class should drop to zero.
      
      Noticed by Andreas Mueller <andreas@stapelspeicher.org>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      210525d6
    • Linus Torvalds's avatar
      ptrace_attach: fix possible deadlock schenario with irqs · f358166a
      Linus Torvalds authored
      Eric Biederman points out that we can't take the task_lock while holding
      tasklist_lock for writing, because another CPU that holds the task lock
      might take an interrupt that then tries to take tasklist_lock for writing.
      
      Which would be a nasty deadlock, with one CPU spinning forever in an
      interrupt handler (although admittedly you need to really work at
      triggering it ;)
      
      Since the ptrace_attach() code is special and very unusual, just make it
      be extra careful, and use trylock+repeat to avoid the possible deadlock.
      
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Roland McGrath <roland@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f358166a
  3. 10 May, 2006 14 commits
  4. 09 May, 2006 17 commits