aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-core.c1
-rw-r--r--drivers/ata/sata_sil.c11
2 files changed, 2 insertions, 10 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index e4dea8623a71..b0d1dc3cdb2d 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3923,6 +3923,7 @@ void ata_std_postreset(struct ata_link *link, unsigned int *classes)
3923 /* clear SError */ 3923 /* clear SError */
3924 if (sata_scr_read(link, SCR_ERROR, &serror) == 0) 3924 if (sata_scr_read(link, SCR_ERROR, &serror) == 0)
3925 sata_scr_write(link, SCR_ERROR, serror); 3925 sata_scr_write(link, SCR_ERROR, serror);
3926 link->eh_info.serror = 0;
3926 3927
3927 /* is double-select really necessary? */ 3928 /* is double-select really necessary? */
3928 if (classes[0] != ATA_DEV_NONE) 3929 if (classes[0] != ATA_DEV_NONE)
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
index 025622b14efb..f5119bf40c24 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -394,16 +394,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
394 * it's PHYRDY CHG. 394 * it's PHYRDY CHG.
395 */ 395 */
396 if (serror & SERR_PHYRDY_CHG) { 396 if (serror & SERR_PHYRDY_CHG) {
397 /* Trigger hotplug and accumulate SError only 397 ap->link.eh_info.serror |= serror;
398 * if the port isn't already frozen.
399 * Otherwise, PHY events during hardreset
400 * makes controllers with broken SIEN repeat
401 * probing needlessly.
402 */
403 if (!(ap->pflags & ATA_PFLAG_FROZEN)) {
404 ata_ehi_hotplugged(&ap->link.eh_info);
405 ap->link.eh_info.serror |= serror;
406 }
407 goto freeze; 398 goto freeze;
408 } 399 }
409 400