Hi,<br><br>&nbsp;&nbsp;&nbsp;&nbsp; I&#39;ve been having trouble with the hostap_cs driver on kernel <a href="http://2.6.19.2">2.6.19.2</a>.&nbsp; I&#39;m using a D-Link 650 rev P, which needs its firmware loaded in volatile RAM.&nbsp; The card has worked with earlier kernel versions (I seem to remember being able to get the card recognized correctly with the default Ubuntu kernel.&nbsp; I&#39;ve since switched back to Debian 
3.1.&nbsp; I&#39;ve shut down the pcmcia service and am manually inserting modules - should this be a problem?)&nbsp; <br><br>&nbsp;&nbsp;&nbsp; I had found a thread on this list (2006-December/014795.html) about adding the manufacturer information for this card to the hostap_cs.c file, which I did (that change should be in the attached patch. - I replaced an existing entry, rather than added a new one...)
<br><br>When I modprobe hostap_cs, after the <br><br>hostap_cs: 0.4.4 (Jouni.....)<br>hostap_cs: Registered netdevice wifi0<br>hostap_cs: index 0x0: , irq 3, io 0xe100-0xe17f<br>hostap_cs: first command failed - assuming card does not have primary firmware
<br><br>messages, the system hangs until I pull the card, at which point I get:<br><br>prism2_hw_init: initialized in 0 ms<br>wifi0: prism2_enable_aux_port - timeout - reg=0xffff<br>
wifi0: prism2_enable_aux_port - timeout - reg=0xffff<br>
SWSUPPORT0 write/read failed: FFFF != 8A32<br>hostap_cs: Initialization failed<br>hostap_cs: probe of 0.0 failed with error 1<br><br>and, although a single shell prompt is printed, the system hangs.<br><br>What I believe to be happening is that in prism2_hw_init in hostap_hw.c, around line 1332:
<br><br>start = jiffies;<br>delay = jiffies + HFA384X_INIT_TIMEOUT;<br>while (!(HFA384X_INW(HFA384X_EVSTAT_OFF) &amp; HFA384X_EV_CMD) &amp;&amp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time_before(jiffies, delay))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yield();<br>
<br>the loop never exits because jiffies isn&#39;t updating.&nbsp; I think that this loop is supposed to time out since my card doesn&#39;t have the firmware loaded yet.&nbsp; After making the changes in the attached patch (just prink-ing the jiffies value every iteration through the loop), this seems to be the case.&nbsp; Although I&#39;m not sure about the details, I&#39;ve read in a couple of places that yield() shouldn&#39;t be used in favor of other, more specific functions.&nbsp; Perhaps that&#39;s the problem?
<br><br>Thanks a lot, <br><br>Andrew Shaffer<br><a href="mailto:aeshaffer@gmail.com">aeshaffer@gmail.com</a><br>