aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-11-30 10:23:16 -0500
committerJeff Garzik <jeff@garzik.org>2007-12-01 17:44:10 -0500
commit0f9fe9b7148f95f018ae2c97f7fa1a35364ea785 (patch)
tree7690a22b6de42051502099e9f03b4c225abe1a94 /drivers/ata
parent04d86d6fc0477f217d60667adfc26f1f56264cc9 (diff)
libata: Fix early use of port printk. (Was Re: ata4294967295: failed to start port (errno=-19))
On Fri, 30 Nov 2007 14:34:11 +0200 (EET) Meelis Roos <mroos@linux.ee> wrote: > > Can you stick a stack trace in at that point ? That would help diagnose > > it a great deal quicker. > > Finally done - found out hard way that BUG() is too bad and > dump_st5ack() suits me better. Thanks. This should fix the real cause, and also allow for port start to fail politely with -ENODEV. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-core.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 53d11017a5c3..b514a80f1370 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6967,12 +6967,11 @@ int ata_host_start(struct ata_host *host)
6967 if (ap->ops->port_start) { 6967 if (ap->ops->port_start) {
6968 rc = ap->ops->port_start(ap); 6968 rc = ap->ops->port_start(ap);
6969 if (rc) { 6969 if (rc) {
6970 ata_port_printk(ap, KERN_ERR, "failed to " 6970 if (rc != -ENODEV)
6971 "start port (errno=%d)\n", rc); 6971 dev_printk(KERN_ERR, host->dev, "failed to start port %d (errno=%d)\n", i, rc);
6972 goto err_out; 6972 goto err_out;
6973 } 6973 }
6974 } 6974 }
6975
6976 ata_eh_freeze_port(ap); 6975 ata_eh_freeze_port(ap);
6977 } 6976 }
6978 6977