We fill postreset with ata_std_postreset() at sas_sata_ops before, but we found out that ata_std_postreset() call sata_scr_read()/sata_scr_write() which need to access SCR register. Actually we don't own these kind of register, so sata_scr_read()/sata_scr_write always return -EOPNOTSUPP. We drop ata_std_postreset() at sas_sata_ops. Signed-off-by: Luo Jiaxing <luojiaxing@xxxxxxxxxx> Reviewed-by: John Garry <john.garry@xxxxxxxxxx> Reviewed-by: Jason Yan <yanaijie@xxxxxxxxxx> --- drivers/scsi/libsas/sas_ata.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index 5d716d3..a7d16d2 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c @@ -510,7 +510,6 @@ void sas_ata_end_eh(struct ata_port *ap) static struct ata_port_operations sas_sata_ops = { .prereset = ata_std_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, -- 2.7.4