libata: add missing call to ->cable_detect() in new EH path
authorTejun Heo <htejun@gmail.com>
Sun, 22 Apr 2007 17:05:53 +0000 (02:05 +0900)
committerJeff Garzik <jeff@garzik.org>
Sat, 28 Apr 2007 18:46:18 +0000 (14:46 -0400)
->cable_detect() used to be called on by the old ata_bus_probe() path.
Add invocation to ata_eh_revalidate_and_attach() right after IDENTIFYs
are done.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-eh.c

index 0dbee55..67bf150 100644 (file)
@@ -1810,6 +1810,10 @@ static int ata_eh_revalidate_and_attach(struct ata_port *ap,
                }
        }
 
+       /* PDIAG- should have been released, ask cable type if post-reset */
+       if ((ehc->i.flags & ATA_EHI_DID_RESET) && ap->ops->cable_detect)
+               ap->cbl = ap->ops->cable_detect(ap);
+
        /* Configure new devices forward such that user doesn't see
         * device detection messages backwards.
         */