Shared IRQ Problem
Pavel Roskin
proski
Tue Jan 2 20:41:40 PST 2007
On Sat, 2006-12-30 at 12:02 +0200, Jar wrote:
> > pcmcia: request for exclusive IRQ could not be fulfilled.
> > pcmcia: the driver needs updating to supported shared IRQ lines.
>
> So...hostap_cs doesn't support shared IRQs or what?
I think it doesn't. Most PCMCIA drivers don't. PCMCIA usually gives an
exclusive IRQ to the card.
It seems to me that hostap_cs.c does the same thing as other PCMCIA
wireless drivers do. None of the wireless drivers sets
IRQ_TYPE_DYNAMIC_SHARING, which would prevent the warning.
Looking at prism2_interrupt(), it seems that it would be able to handle
shared interrupts because it does essentially nothing if no events are
waiting.
So maybe this patch would help (completely untested):
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c
index 8d8f4b9..6eca6ac 100644
--- a/drivers/net/wireless/hostap/hostap_cs.c
+++ b/drivers/net/wireless/hostap/hostap_cs.c
@@ -695,7 +695,8 @@ static int prism2_config(struct pcmcia_device *link)
* irq structure is initialized.
*/
if (link->conf.Attributes & CONF_ENABLE_IRQ) {
- link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
+ link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING |
+ IRQ_FIRST_SHARED | IRQ_HANDLE_PRESENT;
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
link->irq.Handler = prism2_interrupt;
link->irq.Instance = dev;
--
Regards,
Pavel Roskin
More information about the Hostap
mailing list