mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
[SCSI] libsas: poll for ata device readiness after reset
Use ata_wait_after_reset() to poll for link recovery after a reset. This combined with sas_ha->eh_mutex prevents expander rediscovery from probing phys in an intermediate state. Local discovery does not have a mechanism to filter link status changes during this timeout, so it remains the responsibility of lldds to prevent premature port teardown. Although once all lldd's support ->lldd_ata_check_ready() that could be used as a gate to local port teardown. The signature fis is re-transmitted when the link comes back so we should be revalidating the ata device class, but that is left to a future patch. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: James Bottomley <[email protected]>
This commit is contained in:
parent
50824d6c56
commit
36a3994739
4 changed files with 83 additions and 35 deletions
|
|
@ -615,6 +615,7 @@ struct sas_domain_function_template {
|
|||
int (*lldd_clear_task_set)(struct domain_device *, u8 *lun);
|
||||
int (*lldd_I_T_nexus_reset)(struct domain_device *);
|
||||
int (*lldd_ata_soft_reset)(struct domain_device *);
|
||||
int (*lldd_ata_check_ready)(struct domain_device *);
|
||||
void (*lldd_ata_set_dmamode)(struct domain_device *);
|
||||
int (*lldd_lu_reset)(struct domain_device *, u8 *lun);
|
||||
int (*lldd_query_task)(struct sas_task *);
|
||||
|
|
|
|||
Loading…
Reference in a new issue