aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/libata-core.c15
-rw-r--r--drivers/scsi/libata-scsi.c1
2 files changed, 9 insertions, 7 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index ccab1d7ceada..90db054fa994 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -2627,13 +2627,14 @@ int ata_std_prereset(struct ata_port *ap)
2627 const unsigned long *timing; 2627 const unsigned long *timing;
2628 int rc; 2628 int rc;
2629 2629
2630 /* hotplug? */ 2630 /* handle link resume & hotplug spinup */
2631 if (ehc->i.flags & ATA_EHI_HOTPLUGGED) { 2631 if ((ehc->i.flags & ATA_EHI_RESUME_LINK) &&
2632 if (ap->flags & ATA_FLAG_HRST_TO_RESUME) 2632 (ap->flags & ATA_FLAG_HRST_TO_RESUME))
2633 ehc->i.action |= ATA_EH_HARDRESET; 2633 ehc->i.action |= ATA_EH_HARDRESET;
2634 if (ap->flags & ATA_FLAG_SKIP_D2H_BSY) 2634
2635 ata_wait_spinup(ap); 2635 if ((ehc->i.flags & ATA_EHI_HOTPLUGGED) &&
2636 } 2636 (ap->flags & ATA_FLAG_SKIP_D2H_BSY))
2637 ata_wait_spinup(ap);
2637 2638
2638 /* if we're about to do hardreset, nothing more to do */ 2639 /* if we're about to do hardreset, nothing more to do */
2639 if (ehc->i.action & ATA_EH_HARDRESET) 2640 if (ehc->i.action & ATA_EH_HARDRESET)
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
index 153452e77264..ba3e515f2b9d 100644
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -3011,6 +3011,7 @@ static int ata_scsi_user_scan(struct Scsi_Host *shost, unsigned int channel,
3011 if (dev) { 3011 if (dev) {
3012 ap->eh_info.probe_mask |= 1 << dev->devno; 3012 ap->eh_info.probe_mask |= 1 << dev->devno;
3013 ap->eh_info.action |= ATA_EH_SOFTRESET; 3013 ap->eh_info.action |= ATA_EH_SOFTRESET;
3014 ap->eh_info.flags |= ATA_EHI_RESUME_LINK;
3014 } else 3015 } else
3015 rc = -EINVAL; 3016 rc = -EINVAL;
3016 } 3017 }