diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2007-11-30 10:23:16 -0500 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2007-12-01 17:44:10 -0500 |
| commit | 0f9fe9b7148f95f018ae2c97f7fa1a35364ea785 (patch) | |
| tree | 7690a22b6de42051502099e9f03b4c225abe1a94 | |
| parent | 04d86d6fc0477f217d60667adfc26f1f56264cc9 (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>
| -rw-r--r-- | drivers/ata/libata-core.c | 5 |
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 | ||
