1. 01 5月, 2011 1 次提交
  2. 31 3月, 2011 1 次提交
  3. 13 2月, 2011 1 次提交
    • T
      [SCSI] remove flush_scheduled_work() usages · a684b8da
      Tejun Heo 提交于
      Simple conversions to drop flush_scheduled_work() usages in
      drivers/scsi.  More involved ones will be done in separate patches.
      
      * NCR5380, megaraid_sas: cancel_delayed_work() +
        flush_scheduled_work() -> cancel_delayed_work_sync().
      
      * mpt2sas_scsih: drop unnecessary flush_scheduled_work().
      
      * arcmsr_hba, ipr, pmcraid: flush the used work explicitly instead of
        using flush_scheduled_work().
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      a684b8da
  4. 24 1月, 2011 4 次提交
    • K
      [SCSI] mpt2sas: fix Integrated Raid unsynced on shutdown problem · 3a9c913a
      Kashyap, Desai 提交于
      Issue:
      IR shutdown(sending) and IR shutdown(complete) messages not
      listed in /var/log/messages when driver is removed.
      
      The driver needs to issue a MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED
      request when the driver is unloaded so the IR metadata journal is updated.
      If this request is not sent, then the volume would need a "check
      consistency" issued on the next bootup if the volume was roamed from one
      initiator to another. The current driver supports this feature only when the
      system is rebooted, however this also need to be supported if the driver is
      unloaded
      
      Fix:
      To fix this issue, the driver is going
      to need to call the _scsih_ir_shutdown prior to reporting
      the volumes missing from the OS, hence the device handles
      are still present.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Cc: stable@kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      3a9c913a
    • K
      [SCSI] mpt2sas: Fix the race between broadcast asyn event and scsi command completion · ec07a053
      Kashyap, Desai 提交于
      False timeout after hard resets, there were two issues which leads
      to timeout.
      (1) Panic because of invalid memory access in the broadcast asyn
      event processing routine due to a race between accessing the scsi command
      pointer from broadcast asyn event processing thread and completing
      the same scsi command from the interrupt context.
      (2)  Broadcast asyn event notifcations are not handled due to events
      ignored while the broadcast asyn event is activity being processed
      from the event process kernel thread.
      
      In addition, changed the ABRT_TASK_SET to ABORT_TASK in the
      broadcast async event processing routine.   This is less disruptive to other
      request that generate Broadcast Asyn Primitives besides target
      reset. e.g clear reservations, microcode download,and mode select.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Cc: stable@kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      ec07a053
    • K
      [SCSI] mpt2sas: fix internal device reset for older firmware prior to MPI Rev K · efe82a16
      Kashyap, Desai 提交于
      The "internal device reset complete" event is not supported
      for older firmware prior to MPI Rev K We added
      a check in the driver so the "internal device reset" event is
      ignored for older firmware.  When ignored, the tm_busy flag doesn't
      get set nor cleared.  Without this fix, IO queues would be froozen
      indefinetly after the "internal device reset" event, as the "complete" event
      never sent to clear the flag.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Cc: stable@kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      efe82a16
    • K
      [SCSI] mpt2sas: Fix device removal handshake for zoned devices · 4dc2757a
      Kashyap, Desai 提交于
      When zoning end devices, the driver is not sending device
      removal handshake alogrithm to firmware. This results in controller
      firmware not sending sas topology add events the next time the device is
      added. The fix is the driver should be doing the device removal handshake
      even though the PHYSTATUS_VACANT bit is set in the PhyStatus of the
      event data. The current design is avoiding the handshake when the
      VACANT bit is set in the phy status.
      Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com>
      Cc: stable@kernel.org
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      4dc2757a
  5. 22 12月, 2010 7 次提交
  6. 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
  7. 28 7月, 2010 9 次提交
  8. 17 6月, 2010 1 次提交
  9. 12 4月, 2010 4 次提交
  10. 11 4月, 2010 11 次提交