mirror of
https://github.com/torvalds/linux
synced 2024-09-29 07:50:45 +00:00
[PATCH] libata: refuse to register IRQless ports
We don't currently support pure polled operation so when we meet a BIOS which forgot to assign an IRQ to a PCI device it all goes a little pear shaped. Trap this case properly. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
e8216dee83
commit
02f076aaa1
|
@ -5453,6 +5453,11 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
DPRINTK("ENTER\n");
|
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) */
|
/* alloc a container for our list of ATA ports (buses) */
|
||||||
host = kzalloc(sizeof(struct ata_host) +
|
host = kzalloc(sizeof(struct ata_host) +
|
||||||
(ent->n_ports * sizeof(void *)), GFP_KERNEL);
|
(ent->n_ports * sizeof(void *)), GFP_KERNEL);
|
||||||
|
|
Loading…
Reference in a new issue