Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 29219
b: refs/heads/master
c: 90dac02
h: refs/heads/master
i:
  29217: 1f78565
  29215: eeb6a0b
v: v3
  • Loading branch information
Tejun Heo authored and Jeff Garzik committed Apr 2, 2006
1 parent c1b16f8 commit a4cb27b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1c3fae4d7eb121933341443c37d3bbee43c0fb68
refs/heads/master: 90dac02c08dabd471927f151b8393eb51e3e020e
16 changes: 12 additions & 4 deletions trunk/drivers/scsi/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2578,7 +2578,7 @@ int ata_drive_probe_reset(struct ata_port *ap, ata_probeinit_fn_t probeinit,
if (probeinit)
probeinit(ap);

if (softreset) {
if (softreset && !ata_set_sata_spd_needed(ap)) {
rc = ata_do_reset(ap, softreset, postreset, 0, classes);
if (rc == 0 && classes[0] != ATA_DEV_UNKNOWN)
goto done;
Expand All @@ -2587,9 +2587,17 @@ int ata_drive_probe_reset(struct ata_port *ap, ata_probeinit_fn_t probeinit,
if (!hardreset)
goto done;

rc = ata_do_reset(ap, hardreset, postreset, 0, classes);
if (rc || classes[0] != ATA_DEV_UNKNOWN)
goto done;
while (1) {
rc = ata_do_reset(ap, hardreset, postreset, 0, classes);
if (rc == 0) {
if (classes[0] != ATA_DEV_UNKNOWN)
goto done;
break;
}

if (ata_down_sata_spd_limit(ap))
goto done;
}

if (softreset)
rc = ata_do_reset(ap, softreset, postreset, 0, classes);
Expand Down

0 comments on commit a4cb27b

Please sign in to comment.