scottr b316767c92 Work around an ambiguity in the SCSI spec. Some implementations,
particularly older ones, don't do a SAVE DATA POINTER before disconnecting.
When the driver reconnects, it does an implicit RESTORE POINTERS, and
restores the data pointer from *before* the last transfer.  If the driver
calculates the residual using the data pointer and doesn't account for
this, the residual will be wrong.

What we do is test for the SDEV_AUTOSAVE quirk when we see a disconnect
message, falling through to do a SAVE DATA POINTER if the quirk applies
to this target.

The workaround was suggested by Mycroft, who also provided the explanation
of the problem.  Actual code was (mostly) ripped off from the 53C9x driver.
1997-03-27 07:30:40 +00:00
..
1997-03-20 16:51:38 +00:00
1997-03-17 18:29:56 +00:00
1997-03-17 03:44:49 +00:00
1997-03-13 03:33:03 +00:00
1997-03-26 02:08:07 +00:00
1997-03-24 00:35:02 +00:00
1997-03-24 00:35:02 +00:00
1997-03-24 00:35:02 +00:00