1. 30 4月, 2008 5 次提交
    • J
      [libata] linux/libata.h: reorganize ata_device struct members a bit · f7e98930
      Jeff Garzik 提交于
      Put the big stuff at the end, to prepare for upcoming changes (and
      also hopefully achieve nicer packing of remaining members).
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f7e98930
    • J
      Improve queue_is_locked() · 7663c1e2
      Jens Axboe 提交于
      spin_is_locked() doesn't work on UP without spinlock debugging. Make it
      safer and just return 1 on UP, so we don't get false positives. The plan
      is to kill this debug function during the -rc cycle.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7663c1e2
    • L
      block: fix queue locking verification · 8f45c1a5
      Linus Torvalds 提交于
      The new queue_flag_set/clear() functions verify that the queue is
      locked, but in doing so they will actually instead oops if the queue
      lock hasn't been initialized at all.
      
      So fix the lock debug test to consider the "no lock" case to be
      unlocked.  This way you get a nice WARN_ON_ONCE() instead of a fatal
      oops.
      
      Bug introduced by commit 75ad23bc
      ("block: make queue flags non-atomic").
      
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8f45c1a5
    • Y
      pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 · d52877c7
      Yinghai Lu 提交于
      [PATCH 2/2] pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2
      
      this change
      
      | commit 23a274c8
      | Author: Prakash, Sathya <sathya.prakash@lsi.com>
      | Date:   Fri Mar 7 15:53:21 2008 +0530
      |
      |     [SCSI] mpt fusion: Enable MSI by default for SAS controllers
      |
      |     This patch modifies the driver to enable MSI by default for all SAS chips.
      |
      |     Signed-off-by: Sathya Prakash <sathya.prakash@lsi.com>
      |     Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
      |
      Causes the kexec of a RHEL 5.1 kernel to fail.
      
      root casue: the rhel 5.1 kernel still uses INTx emulation.  and
      mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec path
      
      So call pci_msi_shutdown in the shutdown path to do the same thing to msix
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NJesse Barnes <jbarnes@hobbes.lan>
      d52877c7
    • Y
      pci/irq: restore mask_bits in msi shutdown -v3 · 8e149e09
      Yinghai Lu 提交于
      [PATCH 1/2] pci/irq: restore mask_bits in msi shutdown -v3
      
      Yinghai found that kexec'ing a RHEL 5.1 kernel with 2.6.25-rc3+ kernels
      prevents his NIC from working.  He bisected to
      
      | commit 89d694b9
      | Author: Thomas Gleixner <tglx@linutronix.de>
      | Date:   Mon Feb 18 18:25:17 2008 +0100
      |
      |   genirq: do not leave interupts enabled on free_irq
      |
      |   The default_disable() function was changed in commit:
      |
      |    76d21601
      |    genirq: do not mask interrupts by default
      |
      
      For MSI, default_shutdown will call mask_bit for msi device.  All mask bits
      will left disabled after free_irq.  Then in the kexec case, the next kernel
      can only use msi_enable bit, so all device's MSI can not be used.
      
      So lets to restore the mask bit to its pci reset defined value (enabled) when
      we disable the kernels use of msi to be a little friendlier to kexec'd kernels.
      
      Extend msi_set_mask_bit to msi_set_mask_bits to take mask, so we can fully
      restore that to 0x00 instead of 0xfe.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NJesse Barnes <jbarnes@hobbes.lan>
      8e149e09
  2. 29 4月, 2008 35 次提交