diff options
Diffstat (limited to 'drivers/net/smc-ultra32.c')
-rw-r--r-- | drivers/net/smc-ultra32.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/smc-ultra32.c b/drivers/net/smc-ultra32.c index c4f6543a0..a3d3abebf 100644 --- a/drivers/net/smc-ultra32.c +++ b/drivers/net/smc-ultra32.c @@ -239,8 +239,9 @@ __initfunc(int ultra32_probe1(struct device *dev, int ioaddr)) static int ultra32_open(struct device *dev) { int ioaddr = dev->base_addr - ULTRA32_NIC_OFFSET; /* ASIC addr */ + int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ; - if (request_irq(dev->irq, ei_interrupt, 0, ei_status.name, dev)) + if (request_irq(dev->irq, ei_interrupt, irq_flags, ei_status.name, dev)) return -EAGAIN; outb(ULTRA32_MEMENB, ioaddr); /* Enable Shared Memory. */ |