[SCSI] aic79xx: Fixup external device reset
authorHannes Reinecke <hare@suse.de>
Mon, 23 Oct 2006 13:22:37 +0000 (15:22 +0200)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Wed, 25 Oct 2006 22:14:38 +0000 (15:14 -0700)
commit8883c1f182fa88d2b8e0adb6ae90a42f67e5353e
tree4bed9c198d337e0a757eda5d609ce76530fca6ae
parent4a531e8c79fe459e922347461ccc0f0c13de20d5
[SCSI] aic79xx: Fixup external device reset

Whenever an external device is resetted we really have to take
care to keep the channel in sync. Just notifying SCSI-ML and retry
is not enough as we have to make sure the SCSI bus is not getting
confused, either.
So whenever we detect an external reset we rewrite the command to
TUR, disable packetized command and notify the internal engine
that an abort has happened. This way we trigger a proper bus
reset sequence and all devices will be renegotiated properly.
Kudos to Justin Gibbs and Luben Tuikov for this idea.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/aic7xxx/aic79xx_core.c