Commit 2061a47a authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

[PATCH] libata: fix missing classes[] initialization in ata_bus_probe()

ata_bus_probe() didn't initialize classes[] properly with
ATA_DEV_UNKNOWN.  As ->probe_reset() is allowed to leave @classes
alone when no device is present, this results in garbage class values.
ATM, the only affected driver is ata_piix.
Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
Cc: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 75f554bc
...@@ -1346,6 +1346,9 @@ static int ata_bus_probe(struct ata_port *ap) ...@@ -1346,6 +1346,9 @@ static int ata_bus_probe(struct ata_port *ap)
/* reset */ /* reset */
if (ap->ops->probe_reset) { if (ap->ops->probe_reset) {
for (i = 0; i < ATA_MAX_DEVICES; i++)
classes[i] = ATA_DEV_UNKNOWN;
rc = ap->ops->probe_reset(ap, classes); rc = ap->ops->probe_reset(ap, classes);
if (rc) { if (rc) {
printk("ata%u: reset failed (errno=%d)\n", ap->id, rc); printk("ata%u: reset failed (errno=%d)\n", ap->id, rc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment