From: Jeff Garzik Date: Mon, 12 Jun 2006 03:59:44 +0000 (-0400) Subject: libata: more verbose request_irq() failure X-Git-Tag: v2.6.18-rc1~1079^2~31 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39b07ce6d9f7cd4da8567baed844801e0aaa7b1a;p=linux-2.6 libata: more verbose request_irq() failure Suggested by Jarek P. --- diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 76b633a2f3..51b3a0ddb2 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -5293,6 +5293,7 @@ int ata_device_add(const struct ata_probe_ent *ent) unsigned int count = 0, i; struct device *dev = ent->dev; struct ata_host_set *host_set; + int rc; DPRINTK("ENTER\n"); /* alloc a container for our list of ATA ports (buses) */ @@ -5344,9 +5345,13 @@ int ata_device_add(const struct ata_probe_ent *ent) goto err_free_ret; /* obtain irq, that is shared between channels */ - if (request_irq(ent->irq, ent->port_ops->irq_handler, ent->irq_flags, - DRV_NAME, host_set)) + rc = request_irq(ent->irq, ent->port_ops->irq_handler, ent->irq_flags, + DRV_NAME, host_set); + if (rc) { + dev_printk(KERN_ERR, dev, "irq %lu request failed: %d\n", + ent->irq, rc); goto err_out; + } /* perform each probe synchronously */ DPRINTK("probe begin\n");