diff options
Diffstat (limited to 'drivers/ata/libata-pmp.c')
-rw-r--r-- | drivers/ata/libata-pmp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c index a7cb1498c9b2..7f1a87f01ab2 100644 --- a/drivers/ata/libata-pmp.c +++ b/drivers/ata/libata-pmp.c | |||
@@ -239,13 +239,14 @@ int sata_pmp_std_hardreset(struct ata_link *link, unsigned int *class, | |||
239 | unsigned long deadline) | 239 | unsigned long deadline) |
240 | { | 240 | { |
241 | const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context); | 241 | const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context); |
242 | bool online; | ||
242 | u32 tmp; | 243 | u32 tmp; |
243 | int rc; | 244 | int rc; |
244 | 245 | ||
245 | DPRINTK("ENTER\n"); | 246 | DPRINTK("ENTER\n"); |
246 | 247 | ||
247 | /* do hardreset */ | 248 | /* do hardreset */ |
248 | rc = sata_link_hardreset(link, timing, deadline); | 249 | rc = sata_link_hardreset(link, timing, deadline, &online, NULL); |
249 | if (rc) { | 250 | if (rc) { |
250 | ata_link_printk(link, KERN_ERR, | 251 | ata_link_printk(link, KERN_ERR, |
251 | "COMRESET failed (errno=%d)\n", rc); | 252 | "COMRESET failed (errno=%d)\n", rc); |
@@ -261,7 +262,7 @@ int sata_pmp_std_hardreset(struct ata_link *link, unsigned int *class, | |||
261 | } | 262 | } |
262 | 263 | ||
263 | /* if device is present, follow up with srst to wait for !BSY */ | 264 | /* if device is present, follow up with srst to wait for !BSY */ |
264 | if (ata_link_online(link)) | 265 | if (online) |
265 | rc = -EAGAIN; | 266 | rc = -EAGAIN; |
266 | out: | 267 | out: |
267 | /* if SCR isn't accessible, we need to reset the PMP */ | 268 | /* if SCR isn't accessible, we need to reset the PMP */ |
@@ -916,7 +917,7 @@ static int sata_pmp_eh_handle_disabled_links(struct ata_port *ap) | |||
916 | * SError.N working. | 917 | * SError.N working. |
917 | */ | 918 | */ |
918 | sata_link_hardreset(link, sata_deb_timing_normal, | 919 | sata_link_hardreset(link, sata_deb_timing_normal, |
919 | jiffies + ATA_TMOUT_INTERNAL_QUICK); | 920 | jiffies + ATA_TMOUT_INTERNAL_QUICK, NULL, NULL); |
920 | 921 | ||
921 | /* unconditionally clear SError.N */ | 922 | /* unconditionally clear SError.N */ |
922 | rc = sata_scr_write(link, SCR_ERROR, SERR_PHYRDY_CHG); | 923 | rc = sata_scr_write(link, SCR_ERROR, SERR_PHYRDY_CHG); |