linux/drivers/scsi/mpt2sas
nagalakshmi.nandigama@lsi.com 09da0b32d0 [SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists
There were possible race conditions surrounding reading an object
from the link list while from another context in the driver was
removing it. The nature of this enhancement is to rearrange locking
so the link lists are better protected.

Change set:
(1) numerous routines were rearranged so spin locks are held through
the entire time a link list object is being read from or written to.
(2) added new routines for object deletion from link list.  Thus ensuring
lock was held during the deletion of the link list object, then and memory
for object freed outside the lock. The memory was freed outside the lock
so driver had access to device object info which was required for
notifying the scsi mid layer that a device was getting deleted.
(3) added the ioc->blocking_handles parameter.  This is a bitmask used
to identify which devices need blocking when there is device loss.  This was
introduced so that lock can be held for the entire time traversing the link
list objects, and the bitmask was set to indicate which device handles need
blocking. Oustide the lock the ioc->blocking_handles bitmask is traversed,
with the respective device handle the scsi mid layer is called for moving
devices into blocking state.

Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-04-23 19:27:15 +01:00
..
mpi [SCSI] mpt2sas: MPI next revision header update 2012-04-23 19:26:49 +01:00
Kconfig
Makefile
mpt2sas_base.c [SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists 2012-04-23 19:27:15 +01:00
mpt2sas_base.h [SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists 2012-04-23 19:27:15 +01:00
mpt2sas_config.c mpt2sas: Fix typo in mpt2sas_config.c 2012-02-03 22:45:35 +01:00
mpt2sas_ctl.c [SCSI] mpt2sas : Perform Target Reset instead of HBA reset when a SATA_PASSTHROUGH cmd timeout happens 2012-04-23 19:27:08 +01:00
mpt2sas_ctl.h [SCSI] mpt2sas : WarpDrive New product SSS6200 support added 2011-05-01 10:36:54 -05:00
mpt2sas_debug.h [SCSI] mpt2sas: Fixed Big Indian Issues on 32 bit PPC 2011-06-29 16:07:00 -05:00
mpt2sas_scsih.c [SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists 2012-04-23 19:27:15 +01:00
mpt2sas_transport.c [SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists 2012-04-23 19:27:15 +01:00