Re: Aic7x_x_x 6.3.4 && Aic79xx 2.0.5 Updates

Justin T. Gibbs
2003-12-27T15:56:42Z

> Or install your own EH handler.

This was something I considered, but is sadly not enough. You need
at least two other changes to make it work:

1) scsi_done needs to complete commands regardless of the timer
state. The implied race condition commented about in scsi_done()
doesn't exist. The HBA driver knows whether a command is in flight
or not. Attempting to abort a command that is not active can just
return immediately with whatever status is agreed upon for the API.
Without this change, a driver must reschedule bogus timers to get
a completion to take effect.

2) The driver's must be notified of timeouts immediately. Your idea
of re-vectoring the timeout handler would do this just fine.

--
Justin