X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fata%2Flibata-core.c;h=a388a8df00431ec92cfe1001b82e8f96b32ec50b;hb=b229a7b0aed808f2ef6a5e9dbf78b0f17cefb4d0;hp=0d51d13b16bf7b850ac66bd00f4c2abdb3d444f5;hpb=a52865c239b1bc4f62e387509b1ad3415e476ee5;p=linux-2.6 diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 0d51d13b16..a388a8df00 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -2431,18 +2431,8 @@ int ata_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev) int i, rc = 0, used_dma = 0, found = 0; /* has private set_mode? */ - if (ap->ops->set_mode) { - /* FIXME: make ->set_mode handle no device case and - * return error code and failing device on failure. - */ - for (i = 0; i < ATA_MAX_DEVICES; i++) { - if (ata_dev_ready(&ap->device[i])) { - ap->ops->set_mode(ap); - break; - } - } - return 0; - } + if (ap->ops->set_mode) + return ap->ops->set_mode(ap, r_failed_dev); /* step 1: calculate xfer_mask */ for (i = 0; i < ATA_MAX_DEVICES; i++) {