diff options
| author | 2020-08-18 14:14:25 +0200 | |
|---|---|---|
| committer | 2020-08-18 14:14:25 +0200 | |
| commit | d85ddd1318e66c0c2665dbfcbc21a8b66c9152aa (patch) | |
| tree | e49e401abd2468b398d4bc84c7e05c2c2c3b0966 /drivers/scsi/libsas/sas_ata.c | |
| parent | MAINTAINERS: Change maintainer for hisilicon DRM driver (diff) | |
| parent | Linux 5.9-rc1 (diff) | |
| download | wireguard-linux-d85ddd1318e66c0c2665dbfcbc21a8b66c9152aa.tar.xz wireguard-linux-d85ddd1318e66c0c2665dbfcbc21a8b66c9152aa.zip | |
Merge v5.9-rc1 into drm-misc-next
Sam needs 5.9-rc1 to have dev_err_probe in to merge some patches.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Diffstat (limited to 'drivers/scsi/libsas/sas_ata.c')
| -rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index 5d716d388707..1b93332daa6b 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c @@ -507,10 +507,23 @@ void sas_ata_end_eh(struct ata_port *ap) spin_unlock_irqrestore(&ha->lock, flags); } +static int sas_ata_prereset(struct ata_link *link, unsigned long deadline) +{ + struct ata_port *ap = link->ap; + struct domain_device *dev = ap->private_data; + struct sas_phy *local_phy = sas_get_local_phy(dev); + int res = 0; + + if (!local_phy->enabled || test_bit(SAS_DEV_GONE, &dev->state)) + res = -ENOENT; + sas_put_local_phy(local_phy); + + return res; +} + static struct ata_port_operations sas_sata_ops = { - .prereset = ata_std_prereset, + .prereset = sas_ata_prereset, .hardreset = sas_ata_hard_reset, - .postreset = ata_std_postreset, .error_handler = ata_std_error_handler, .post_internal_cmd = sas_ata_post_internal, .qc_defer = ata_std_qc_defer, |
