senao NL-2511MP PLUS problem

Bruno Randolf bruno.randolf at 4g-systems.biz
Sat Jan 22 06:33:20 EST 2005


hello!

i dont know if this is the same thing, but i had a similar problem with two 
seano nl-2511mp plus miniPCI cards sharing the same interrupt. 

i fixed it by changing the hostap code to defer 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.

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.

a patch against hostap 0.2.6 is attached.

greetings,
bruno

On Saturday 22 January 2005 00:01, dennis khoo wrote:
> Hi all,
>
> I was wondering if anyone has run the senao NL-2511MP
> PLUS minipci card with 2.4.26 hostap on pcengines wrap
> 2c board?  When hostap_pci loads, it hangs the kernel.
>
>
> I can see the card on the pci:
> ....
>  Bus  0, device  17, function  0:
>     Class 0280: PCI device 1260:3873 (rev 1).
>       IRQ 9.
>       Master Capable.  Latency=64.
>       Prefetchable 32 bit memory at 0xa0000000
> [0xa0000fff].
>
> and the minipci card runs fine with the stock
> hermes/orinoco module on 2.4.26 kernel.  I'm using a
> kernel built using leaf-bering.
>
> The code seems to be hanging at
> prism2_pci_probe(hostap_pci.c)  -->   prism2_hw_config
> (hostap_hw.c)  --> prism2_hw_init2 (hostap_hw.c) ->
> prism2_get_version_info (hostap_hw.c) -->
> hfa384x_get_rid (hostap_hw.c) --> hfa384x_cmd
> (hostap_hw.c)---> hfa384x_cmd_issue(hostap_hw.c)--->
>   spin_unlock_irqrestore(&local->cmdlock, flags).
>
> I've tried the "PRISM2_PCI_USE_LONG_DELAYS" with no
> success.
>
> Any help or insights?
>
>
> Thanks in advance
> dennis
>
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - Helps protect you from nasty viruses.
> http://promotions.yahoo.com/new_mail
> _______________________________________________
> HostAP mailing list
> HostAP at shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mtx_hostap_deferred_irq.diff
Type: text/x-diff
Size: 2193 bytes
Desc: not available
Url : http://lists.shmoo.com/pipermail/hostap/attachments/20050122/cabea967/attachment.diff 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.shmoo.com/pipermail/hostap/attachments/20050122/cabea967/attachment.pgp 


More information about the HostAP mailing list