diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 753b0152afd16f15dd655bafacff32d1dc5dd473..b4abd6850367d219e2cb1d59218bf7773b147879 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -5453,6 +5453,11 @@ int ata_device_add(const struct ata_probe_ent *ent) int rc; DPRINTK("ENTER\n"); + + if (ent->irq == 0) { + dev_printk(KERN_ERR, dev, "is not available: No interrupt assigned.\n"); + return 0; + } /* alloc a container for our list of ATA ports (buses) */ host = kzalloc(sizeof(struct ata_host) + (ent->n_ports * sizeof(void *)), GFP_KERNEL);