Re: [PATCH 4/4] scsi: hisi_sas: Use libsas internal abort support

From: John Garry
Date: Mon Apr 25 2022 - 04:43:19 EST

On 20/04/2022 13:29, Hannes Reinecke wrote:
On 3/3/22 13:18, John Garry wrote:
Use the common libsas internal abort functionality.

In addition, this driver has special handling for internal abort timeouts -
specifically whether to reset the controller in that instance, so extend
the API for that.

Huh? Is there a reason _not_ to reset the controller once abort times out?

There's a bug in v2 HW where the internal abort may timeout due to HW bug but it is not fatal, i.e. the HW state is not totally buggered, so can continue without a reset.

And why isn't that delegated to SCSI EH?

For sure, SCSI EH will reset the host if all else fails. However, it may take some time to get to the point of deciding to reset - including lots of timeouts. To accelerate this, we set a host flag to say that we have a HW fault, and don't bother with nexus reset, LU reset, etc. once the initial task abort fails due to HW fault and fail straight away. Maybe the core code could do something similar but it seems messy/hard to generalise.