1. 04 Jul, 2007 3 commits
    • Zach Brown's avatar
      dio: remove bogus refcounting BUG_ON · fcb82f88
      Zach Brown authored
      Badari Pulavarty reported a case of this BUG_ON is triggering during
      testing.  It's completely bogus and should be removed.
      
      It's trying to notice if we left references to the dio hanging around in
      the sync case.  They should have been dropped as IO completed while this
      path was in dio_await_completion().  This condition will also be
      checked, via some twisty logic, by the BUG_ON(ret != -EIOCBQUEUED) a few
      lines lower.  So to start this BUG_ON() is redundant.
      
      More fatally, it's dereferencing dio-> after having dropped its
      reference.  It's only safe to dereference the dio after releasing the
      lock if the final reference was just dropped.  Another CPU might free
      the dio in bio completion and reuse the memory after this path drops the
      dio lock but before the BUG_ON() is evaluated.
      
      This patch passed aio+dio regression unit tests and aio-stress on ext3.
      Signed-off-by: default avatarZach Brown <zach.brown@oracle.com>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fcb82f88
    • Andi Kleen's avatar
      Revert perfctr reservation to 2.6.21 state · 5dcccd8d
      Andi Kleen authored
      With this change it works again when the nmi watchdog is disabled.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Cc: Björn Steinbrink <B.Steinbrink@gmx.de>
      Cc: Stephane Eranian <eranian@hpl.hp.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5dcccd8d
    • Andi Kleen's avatar
      Revert HPET resource reservation · 0f8dc2f0
      Andi Kleen authored
      Matthias Lenk reports that the PCI subsystem would move the HPET on
      SB400/SB600-based systems, where the HPET is in BAR1 of the SMbus
      controller.
      
      The reason? The ACPI layer registered the PCI MMIO range as being busy
      too early, before PCI enumeration had happened, causing the PCI layer to
      decide that it should relocate the resources somewhere else.
      
      Firmware resources should be marked busy _after_ the PCI enumeration and
      probing has happened, not before.
      
      Remove the too-early reservation, we'll fix it up to do it properly
      later.  In the meantime, this solves the regression.
      Tested-by: default avatarMatthias Lenk <matthias.lenk@amd.com>
      Cc: Aaron Durbin <adurbin@google.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0f8dc2f0
  2. 03 Jul, 2007 32 commits
  3. 02 Jul, 2007 5 commits
    • Jeff Garzik's avatar
      [libata] sata_nv: undo merge error · 531e3a61
      Jeff Garzik authored
      Only the ADMA entry was supposed to be able to change queue depth.
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      531e3a61
    • Patrick McHardy's avatar
      3c589_cs: fix local_bh_enable warning · 63ac9b91
      Patrick McHardy authored
      Russell King wrote:
      > Having upgraded from 2.6.16 to 2.6.22-rc6, I'm now seeing the following.
      >
      > Looks like netfilter is calling local_bh_enable() with IRQs disabled,
      > which would appear to be illegal.  Thankfully, this is a warn-once
      > warning.
      >
      > WARNING: at /home/rmk/git/linux-2.6-rmk/kernel/softirq.c:138 local_bh_enable()
      > [...]
      > [<c01447fc>] (nf_conntrack_destroy+0x0/0x2c) from [<c012c05c>] (__kfree_skb+0xd0/0x100)
      > [<c012bf8c>] (__kfree_skb+0x0/0x100) from [<c012c0d8>] (kfree_skb+0x4c/0x50)
      >  r5:c12a3800 r4:00000300
      > [<c012c08c>] (kfree_skb+0x0/0x50) from [<bf03cbb0>] (el3_start_xmit+0xb8/0xd0 [3c589_cs])
      > [<bf03caf8>] (el3_start_xmit+0x0/0xd0 [3c589_cs]) from [<c01324dc>] (dev_hard_start_xmit+0x1a8/0x244)
      >  r7:c12a3800 r6:c1a9aa00 r5:c1a9aa00 r4:c12a3800
      > [<c0132334>] (dev_hard_start_xmit+0x0/0x244) from [<c013fcc0>] (__qdisc_run+0xb0/0x198)
      
      Thats a bug in the 3c589_cs driver. Patch attached.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      63ac9b91
    • Uwe Koziolek's avatar
      libata: PATA-mode fixes for sis_sata · a3cabb27
      Uwe Koziolek authored
      Changed PATA handler for PATA-ports used by sata_sis.
      This patch was originally submitted by Jeff Garzik.
      
      Added PCI-ID 1180 for SiS966 Controller in pata_sis.
      The 1180 mode is fully compatible to other SiS PATA-controller.
      
      The PCI-ID 1183 is SATA in PATA-emulation, but not fully compatible
      to SiS5513/5518. sata_sis.c is forwarding this ID to pata_sis.
      1183 is not working if simply added to pata_sis.
      This handling fixes issues with SiS968.
      Signed-off-by: default avatarUwe Koziolek <uwe.koziolek@gmx.net>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      a3cabb27
    • Tejun Heo's avatar
      libata: add HTS541616J9SA00 to NCQ blacklist · e14cbfa6
      Tejun Heo authored
      Another member of HTS5416* family doing spurious NCQ completion.
      Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
      Cc: Enrico Sardi <enricoss@tiscali.it>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      e14cbfa6
    • Robert Hancock's avatar
      sata_nv: allow changing queue depth · 1e0b5ab8
      Robert Hancock authored
      The sata_nv driver was missing the change_queue_depth hook in the SCSI host
      template which the other NCQ-capable libata drivers had. This made it impossible
      to change the queue depth by user request. Add this in.
      Signed-off-by: default avatarRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      1e0b5ab8