diff options
author | Kashyap, Desai <kashyap.desai@lsi.com> | 2010-03-09 07:04:13 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-04-11 10:23:29 -0400 |
commit | 1278b11f46d9f34097f44ecc417148f27e8997fe (patch) | |
tree | 986281490f5692194f64ce6e79aa5580a9f36bb8 /drivers/scsi/mpt2sas/mpt2sas_base.h | |
parent | 40956059fb2ef717f1e864a6685e7cd31758fc2b (diff) |
[SCSI] mpt2sas : Device removal algorithm in interrupt context only
external host not connecting after controller reboot: The
problem is : devices are not coming back after having the cable
disconnected then reconnected. The problem is because the
driver/firmware device removal handshake is failing. Due to this failure,
the controller firmware is not sending out device add events when the target
is reconnected. This is root caused to a race in the driver/firmware device
removal algorithm. There is duplicate code in both interrupt and user
context; where target reset is being issue from user context path while
sas_iounit_control(OP_REMOVE) is being sent from interrupt context. An
active target_reset will fail the OP_REMOVE. To fix this problem, the
duplicate code has been removed from user context path.
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_base.h')
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_base.h | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_base.h b/drivers/scsi/mpt2sas/mpt2sas_base.h index 199424d22346..142b694c9de5 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_base.h +++ b/drivers/scsi/mpt2sas/mpt2sas_base.h | |||
@@ -259,16 +259,6 @@ struct _internal_cmd { | |||
259 | u16 smid; | 259 | u16 smid; |
260 | }; | 260 | }; |
261 | 261 | ||
262 | /* | ||
263 | * SAS Topology Structures | ||
264 | */ | ||
265 | |||
266 | #define MPTSAS_STATE_TR_SEND 0x0001 | ||
267 | #define MPTSAS_STATE_TR_COMPLETE 0x0002 | ||
268 | #define MPTSAS_STATE_CNTRL_SEND 0x0004 | ||
269 | #define MPTSAS_STATE_CNTRL_COMPLETE 0x0008 | ||
270 | |||
271 | #define MPT2SAS_REQ_SAS_CNTRL 0x0010 | ||
272 | 262 | ||
273 | /** | 263 | /** |
274 | * struct _sas_device - attached device information | 264 | * struct _sas_device - attached device information |
@@ -306,7 +296,6 @@ struct _sas_device { | |||
306 | u16 slot; | 296 | u16 slot; |
307 | u8 hidden_raid_component; | 297 | u8 hidden_raid_component; |
308 | u8 responding; | 298 | u8 responding; |
309 | u16 state; | ||
310 | }; | 299 | }; |
311 | 300 | ||
312 | /** | 301 | /** |