Commit 0f9fe9b7148f95f018ae2c97f7fa1a35364ea785
Committed by
Jeff Garzik
1 parent
04d86d6fc0
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>
Showing 1 changed file with 2 additions and 3 deletions Side-by-side Diff
drivers/ata/libata-core.c
... | ... | @@ -6967,12 +6967,11 @@ |
6967 | 6967 | if (ap->ops->port_start) { |
6968 | 6968 | rc = ap->ops->port_start(ap); |
6969 | 6969 | if (rc) { |
6970 | - ata_port_printk(ap, KERN_ERR, "failed to " | |
6971 | - "start port (errno=%d)\n", rc); | |
6970 | + if (rc != -ENODEV) | |
6971 | + dev_printk(KERN_ERR, host->dev, "failed to start port %d (errno=%d)\n", i, rc); | |
6972 | 6972 | goto err_out; |
6973 | 6973 | } |
6974 | 6974 | } |
6975 | - | |
6976 | 6975 | ata_eh_freeze_port(ap); |
6977 | 6976 | } |
6978 | 6977 |