1. 09 2月, 2010 2 次提交
    • A
      [SCSI] qla2xxx: Obtain proper host structure during response-queue processing. · a67093d4
      Anirban Chakraborty 提交于
      Original code incorrectly assumed only status-type-0
      IOCBs would be queued to the response-queue, and thus all
      entries would safely reference a VHA from the IOCB
      'handle.'
      
      Cc: stable@kernel.org
      Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      a67093d4
    • X
      [SCSI] qla2xxx: make msix interrupt handler safe for irq · 0f19bc68
      Xiaotian Feng 提交于
      Yinghai has reported a lockdep warning on qla2xxx:
      
      [   77.965784] WARNING: at kernel/lockdep.c:2332
      trace_hardirqs_on_caller+0xc6/0x14b()
      [   77.977492] Hardware name: Sun
      [   77.979485] Modules linked in:
      [   77.994337] Pid: 0, comm: swapper Not tainted
      2.6.33-rc4-tip-yh-03949-g3a8e3f5-dirty #64
      [   78.000120] Call Trace:
      [   78.013298]  <IRQ>  [<ffffffff81076b54>] warn_slowpath_common+0x7c/0x94
      [   78.017746]  [<ffffffff81cd712c>] ? _raw_spin_unlock_irq+0x30/0x36
      [   78.035171]  [<ffffffff81076b80>] warn_slowpath_null+0x14/0x16
      [   78.040152]  [<ffffffff810a2ae8>] trace_hardirqs_on_caller+0xc6/0x14b
      [   78.055400]  [<ffffffff810a2b7a>] trace_hardirqs_on+0xd/0xf
      [   78.058951]  [<ffffffff81cd712c>] _raw_spin_unlock_irq+0x30/0x36
      [   78.074889]  [<ffffffff816461ef>] qla24xx_msix_default+0x243/0x281
      [   78.091598]  [<ffffffff810a5752>] ? __lock_release+0xa5/0xae
      [   78.096799]  [<ffffffff810c02ae>] handle_IRQ_event+0x53/0x113
      [   78.111568]  [<ffffffff810c2061>] handle_edge_irq+0xf3/0x13b
      [   78.116255]  [<ffffffff81035109>] handle_irq+0x24/0x2f
      [   78.132063]  [<ffffffff81cdc4b4>] do_IRQ+0x5c/0xc3
      [   78.134684]  [<ffffffff81cd7393>] ret_from_intr+0x0/0xf
      [   78.137903]  <EOI>  [<ffffffff81039a56>] ? mwait_idle+0xaf/0xbb
      [   78.155674]  [<ffffffff81039a4d>] ? mwait_idle+0xa6/0xbb
      [   78.158600]  [<ffffffff81031c7c>] cpu_idle+0x61/0xa1
      [   78.174333]  [<ffffffff81c85d7a>] rest_init+0x7e/0x80
      [   78.178122]  [<ffffffff82832d1f>] start_kernel+0x316/0x31d
      [   78.193623]  [<ffffffff82832297>] x86_64_start_reservations+0xa7/0xab
      [   78.198924]  [<ffffffff8283237f>] x86_64_start_kernel+0xe4/0xeb
      [   78.214540] ---[ end trace be4529f30a2e4ef5 ]---
      
      This was happened when qla2xxx msix interrupt handler is trying to enable
      IRQs by spin_unlock_irq(). We should make interrupt handler safe for IRQs,
      use spin_lock_irqsave/spin_unlock_irqrestore, this will not break the IRQs
      status in interrupt handler.
      Reported-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NXiaotian Feng <dfeng@redhat.com>
      Acked-by: NGiridhar Malavali <giridhar.malavali@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      0f19bc68
  2. 31 12月, 2009 1 次提交
  3. 10 12月, 2009 2 次提交
  4. 05 12月, 2009 2 次提交
  5. 12 9月, 2009 2 次提交
  6. 05 9月, 2009 1 次提交
  7. 23 8月, 2009 6 次提交
  8. 15 6月, 2009 1 次提交
  9. 09 6月, 2009 1 次提交
  10. 21 5月, 2009 3 次提交
  11. 03 4月, 2009 3 次提交
  12. 11 2月, 2009 2 次提交
  13. 25 1月, 2009 1 次提交
  14. 08 1月, 2009 4 次提交
  15. 30 12月, 2008 3 次提交
  16. 13 10月, 2008 1 次提交
    • M
      [SCSI] qla2xxx: use new host byte transport errors. · 056a4483
      Mike Christie 提交于
      This has qla2xxx use the new transport error values instead of
      DID_BUS_BUSY. I am not sure if all the errors
      in qla_isr.c I changed are transport related. We end up blocking/deleting
      the rport for all of them so it is better to use the new transport error since
      the fc classs will decide when to fail the IO.
      
      With this patch if I pull a cable then IO that had reached
      the driver, will be failed with DID_TRANSPORT_DISRUPTED (not including
      tape). The fc class will then fail the IO when the fast io fail tmo
      has fired, and the driver will flush any other commands running.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      056a4483
  17. 04 10月, 2008 3 次提交
  18. 14 9月, 2008 1 次提交
    • A
      [SCSI] qla2xxx: Defer enablement of RISC interrupts until ISP initialization completes. · 048feec5
      Andrew Vasquez 提交于
      Josip Rodin noted
      (http://article.gmane.org/gmane.linux.ports.sparc/10152) the
      driver oopsing during registration of an rport to the
      FC-transport layer with a backtrace indicating a dereferencing of
      an shost->shost_data equal to NULL.  David Miller identified a
      small window in driver logic where this could happen:
      
          > Look at how the driver registers the IRQ handler before the host has
          > been registered with the SCSI layer.
          >
          > That leads to a window of time where the shost hasn't been setup
          > fully, yet ISRs can come in and trigger DPC thread events, such as
          > loop resyncs, which expect the transport area to be setup.
          >
          > But it won't be setup, because scsi_add_host() hasn't finished yet.
          >
          > Note that in Josip's crash log, we don't even see the
          >
          >         qla_printk(KERN_INFO, ha, "\n"
          >             " QLogic Fibre Channel HBA Driver: %s\n"
          >             "  QLogic %s - %s\n"
          >             "  ISP%04X: %s @ %s hdma%c, host#=%ld, fw=%s\n",
          >  ...
          >
          > message yet.
          >
          > Which means that the crash occurs between qla2x00_request_irqs()
          > and printing that message.
      
      Close this window by enabling RISC interrupts after the host has
      been registered with the SCSI midlayer.
      Reported-by: NJosip Rodin <joy@entuzijast.net>
      Cc: Stable Tree <stable@kernel.org>
      Signed-off-by: NAndrew Vasquez <andrew.vasquez@qlogic.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      048feec5
  19. 16 8月, 2008 1 次提交