scsi: hisi_sas: Use libsas internal abort support
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. Timeout is now increased to 20 * Hz from 6 * Hz. We also retry for failure now, but this should not make a difference. Link: https://lore.kernel.org/r/1647001432-239276-5-git-send-email-john.garry@huawei.com Tested-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Acked-by: Jack Wang <jinpu.wang@ionos.com> Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
2cbbf48977
commit
095478a6e5
@@ -565,6 +565,7 @@ enum sas_internal_abort {
|
||||
|
||||
struct sas_internal_abort_task {
|
||||
enum sas_internal_abort type;
|
||||
unsigned int qid;
|
||||
u16 tag;
|
||||
};
|
||||
|
||||
@@ -671,6 +672,7 @@ struct sas_domain_function_template {
|
||||
/* Special TMF callbacks */
|
||||
void (*lldd_tmf_exec_complete)(struct domain_device *dev);
|
||||
void (*lldd_tmf_aborted)(struct sas_task *task);
|
||||
bool (*lldd_abort_timeout)(struct sas_task *task, void *data);
|
||||
|
||||
/* Port and Adapter management */
|
||||
int (*lldd_clear_nexus_port)(struct asd_sas_port *);
|
||||
|
||||
Reference in New Issue
Block a user