[SCSI] sym53c8xx: Keep transfer negotiations valid
authorAaro Koskinen <Aaro.Koskinen@nokia.com>
Thu, 15 Jan 2009 15:13:36 +0000 (17:13 +0200)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 12 Mar 2009 17:57:57 +0000 (12:57 -0500)
commit49799fee82b4f78c45b1926be24e45b5cf667083
tree5eca74c9d542b161ff5c91e44cd7a379d6a07ad3
parent5ef074161b5bcd84acfe19f0ecd72b74765d8770
[SCSI] sym53c8xx: Keep transfer negotiations valid

(The patch updated based on testing and comments from Tony Battersby.)

Change the sym53c8xx_2 driver negotiation logic so that the driver will
tolerate better device removals. Negotiation message(s) will be sent
with every INQUIRY and REQUEST SENSE command, and whenever there is a
change in goals or when the device reports check condition.

The patch was made specifically to address the case where you hotswap
the disk using remove-single-device/add-single-device commands through
/proc/scsi/scsi. Without the patch the driver keeps using old transfer
parameters even though the target is reset and reports check condition,
so the data transfer of the very first INQUIRY will fail.

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Tested-by: Tony Battersby <tonyb@cybernetics.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/sym53c8xx_2/sym_hipd.c
drivers/scsi/sym53c8xx_2/sym_hipd.h