diff options
-rw-r--r-- | drivers/scsi/libata-core.c | 6 | ||||
-rw-r--r-- | include/linux/libata.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 86310562da8b..10933cb722e6 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -1409,7 +1409,11 @@ static int ata_bus_probe(struct ata_port *ap) | |||
1409 | if (!found) | 1409 | if (!found) |
1410 | goto err_out_disable; | 1410 | goto err_out_disable; |
1411 | 1411 | ||
1412 | ata_set_mode(ap); | 1412 | if (ap->ops->set_mode) |
1413 | ap->ops->set_mode(ap); | ||
1414 | else | ||
1415 | ata_set_mode(ap); | ||
1416 | |||
1413 | if (ap->flags & ATA_FLAG_PORT_DISABLED) | 1417 | if (ap->flags & ATA_FLAG_PORT_DISABLED) |
1414 | goto err_out_disable; | 1418 | goto err_out_disable; |
1415 | 1419 | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index a5c213ce97c9..6a9316cbb70b 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -433,6 +433,7 @@ struct ata_port_operations { | |||
433 | void (*dev_select)(struct ata_port *ap, unsigned int device); | 433 | void (*dev_select)(struct ata_port *ap, unsigned int device); |
434 | 434 | ||
435 | void (*phy_reset) (struct ata_port *ap); /* obsolete */ | 435 | void (*phy_reset) (struct ata_port *ap); /* obsolete */ |
436 | void (*set_mode) (struct ata_port *ap); | ||
436 | int (*probe_reset) (struct ata_port *ap, unsigned int *classes); | 437 | int (*probe_reset) (struct ata_port *ap, unsigned int *classes); |
437 | 438 | ||
438 | void (*post_set_mode) (struct ata_port *ap); | 439 | void (*post_set_mode) (struct ata_port *ap); |