diff options
Diffstat (limited to 'drivers/pcmcia/pcmcia_resource.c')
| -rw-r--r-- | drivers/pcmcia/pcmcia_resource.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index c4612c52e4c..7c3d03bb4f3 100644 --- a/drivers/pcmcia/pcmcia_resource.c +++ b/drivers/pcmcia/pcmcia_resource.c @@ -21,6 +21,7 @@  #include <linux/pci.h>  #include <linux/device.h>  #include <linux/netdevice.h> +#include <linux/slab.h>  #include <pcmcia/cs_types.h>  #include <pcmcia/ss.h> @@ -754,12 +755,12 @@ int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req)  	else  		printk(KERN_WARNING "pcmcia: Driver needs updating to support IRQ sharing.\n"); -#ifdef CONFIG_PCMCIA_PROBE - -	if (s->irq.AssignedIRQ != 0) { -		/* If the interrupt is already assigned, it must be the same */ +	/* If the interrupt is already assigned, it must be the same */ +	if (s->irq.AssignedIRQ != 0)  		irq = s->irq.AssignedIRQ; -	} else { + +#ifdef CONFIG_PCMCIA_PROBE +	if (!irq) {  		int try;  		u32 mask = s->irq_mask;  		void *data = p_dev; /* something unique to this device */  |