hostap hangs in request_irq

Bruno Randolf bruno.randolf
Thu Jan 29 10:07:52 PST 2004

Hash: SHA1

i don't know if this is relevant to anyone except me, but to answer my own 
question, this is the solution i came up with:

the attached patch adds deferred initialization of interrupts, so that all 
devices have been reset properly before the irqs are requested:

this is a workaround for multiple cards that have to share the same hardware
interrupt line. when the system reboots, the firmware obviously still
generates interrupts even after a pci bus reset. these interrupts are never
acknowledged from the newly booted kernel, so the interrupt stays active.
when the driver initializes the first card, it tries to request this
interrupt from the kernel, but the second (not yet resetted) keeps the
interrupt high - this causes the setup_irq function in the kernel to hang
when it tries to restore it's spinlock (function spin_unlock_irqrestore),
dont ask me why (may this be a kernel bug?)...

the workaround is to reset both cards in the prism2_pci_probe as before, but
to request the interrupts later, after all cards have been reset properly.

if there is a more elegant way to do this (i guess so), i would appreciate any 


On Thursday 15 January 2004 14:58, Bruno Randolf wrote:
> hello!
> i have a mipsel (kernel 2.4.21) system with 2 mini-pci prism2 cards, both
> sharing the same interrupt. hostap and everything works fine when i power
> on the system.
> but when i reboot (without removing the power), hostap hangs after
> "hostap_pci: Registered netdevice wlan0" in the function request_irq. it
> does not do this when the cards have seperate irqs or with only one card.
> is there anything hostap could do to prevent this (like resetting the card,
> irq or something?), or is this a problem with the kernel?
> bruno
> _______________________________________________
> HostAP mailing list
> HostAP at

- -- 
4G Systeme GmbH
Am Sandtorkai 71
20457 Hamburg
fon: +49 (0)40 / 48 40 33 28
fax: +49 (0)40 / 48 40 33 30
mail: bruno.randolf at
Version: GnuPG v1.2.4 (GNU/Linux)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: hostap_0.1.2_deferred_irq.diff
Type: text/x-diff
Size: 2341 bytes
Desc: not available
Url : 

More information about the Hostap mailing list