1. 21 7月, 2016 1 次提交
  2. 24 11月, 2014 1 次提交
  3. 12 11月, 2014 1 次提交
  4. 05 9月, 2013 1 次提交
    • B
      libfc: Do not invoke the response handler after fc_exch_done() · 7030fd62
      Bart Van Assche 提交于
      While the FCoE initiator driver invokes fc_exch_done() from inside
      the libfc response handler, FCoE target drivers typically invoke
      fc_exch_done() from outside the libfc response handler. The object
      fc_exch.arg points at may disappear as soon as fc_exch_done() has
      finished. So it's important not to invoke the response handler
      function after fc_exch_done() has finished. Modify libfc such that
      this guarantee is provided if fc_exch_done() is invoked from
      outside a response handler. This patch fixes a sporadic crash in
      FCoE target implementations after a command has been aborted.
      Signed-off-by: NBart Van Assche <bvanassche@acm.org>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NRobert Love <robert.w.love@intel.com>
      7030fd62
  5. 26 3月, 2013 2 次提交
  6. 20 7月, 2012 3 次提交
  7. 19 2月, 2012 1 次提交
  8. 16 1月, 2012 1 次提交
  9. 03 10月, 2011 2 次提交
  10. 30 6月, 2011 1 次提交
  11. 31 3月, 2011 1 次提交
  12. 13 2月, 2011 6 次提交
  13. 22 12月, 2010 2 次提交
  14. 17 11月, 2010 1 次提交
    • J
      SCSI host lock push-down · f281233d
      Jeff Garzik 提交于
      Move the mid-layer's ->queuecommand() invocation from being locked
      with the host lock to being unlocked to facilitate speeding up the
      critical path for drivers who don't need this lock taken anyway.
      
      The patch below presents a simple SCSI host lock push-down as an
      equivalent transformation.  No locking or other behavior should change
      with this patch.  All existing bugs and locking orders are preserved.
      
      Additionally, add one parameter to queuecommand,
      	struct Scsi_Host *
      and remove one parameter from queuecommand,
      	void (*done)(struct scsi_cmnd *)
      
      Scsi_Host* is a convenient pointer that most host drivers need anyway,
      and 'done' is redundant to struct scsi_cmnd->scsi_done.
      
      Minimal code disturbance was attempted with this change.  Most drivers
      needed only two one-line modifications for their host lock push-down.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      Acked-by: NJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f281233d
  15. 26 10月, 2010 1 次提交
    • B
      [SCSI] libfc: Do not let disc work cancel itself · c531b9b4
      Bhanu Prakash Gollapudi 提交于
      When number of NPIV ports created are greater than the xids
      allocated per pool -- for eg., creating 255 NPIV ports on a
      system with nr_cpu_ids of 32, with each pool containing 128
      xids -- and then generating a link event - for eg.,
      shutdown/no shutdown -- on the switch port causes the hang
      with the following stack trace.
      
      Call Trace:
      schedule_timeout+0x19d/0x230
      wait_for_common+0xc0/0x170
      __cancel_work_timer+0xcf/0x1b0
      fc_disc_stop+0x16/0x30 [libfc]
      fc_lport_reset_locked+0x47/0x90 [libfc]
      fc_lport_enter_reset+0x67/0xe0 [libfc]
      fc_lport_disc_callback+0xbc/0xe0 [libfc]
      fc_disc_done+0xa8/0xf0 [libfc]
      fc_disc_timeout+0x29/0x40 [libfc]
      run_workqueue+0xb8/0x140
      worker_thread+0x96/0x110
      kthread+0x96/0xa0
      child_rip+0xa/0x20
      
      Fix is to not cancel the disc_work if discovery is already
      stopped, thus allowing lport state machine to restart and try
      discovery again.
      Signed-off-by: NBhanu Prakash Gollapudi <bprakash@broadcom.com>
      Acked-by: NJoe Eykholt <jeykholt@cisco.com>
      Signed-off-by: NRobert Love <robert.w.love@intel.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      c531b9b4
  16. 28 7月, 2010 13 次提交
  17. 17 5月, 2010 2 次提交