Re: ipw2200 stalls on high load

Sebastian Siewior <[email protected]> Wed, 6 Feb 2008 00:53:44 +0100
Newsgroups gmane.linux.kernel.wireless.general,gmane.linux.drivers.ipw2100.devel
Message-ID <[email protected]>
* Dan Williams | 2008-02-05 10:09:14 [-0500]:

>That would mean that count never gets above 8, and that the RX queue is
>never restocked.  The (count >= 8) part might be specific to the
>3945/4965 drivers, since they apparently restock the RX queue in blocks
>of 8.  Can you try to change the:
>
>if (count >= 8)
>
>to
>
>if (count)
>
>and see what that does for you?  Also, can you log the value of
>"ipw_rx_queue_space (priv->rxq)" on the same line as your "fill_rx
>block" printk?

This gives the following from time to time:
| [ 3327.863414] fill_rx block, count: 0x00000000 i: 0x0000000e, ipw_rx_queue_space: 0x00000011
| [ 3329.704780] fill_rx block, count: 0x00000000 i: 0x00000003, ipw_rx_queue_space: 0x00000011
| [ 3331.532242] fill_rx block, count: 0x00000000 i: 0x0000001a, ipw_rx_queue_space: 0x00000011
| [ 3333.306232] fill_rx block, count: 0x00000000 i: 0x00000009, ipw_rx_queue_space: 0x00000011
| [ 3335.062033] fill_rx block, count: 0x00000000 i: 0x00000018, ipw_rx_queue_space: 0x00000011
| [ 3336.983284] fill_rx block, count: 0x00000000 i: 0x0000000e, ipw_rx_queue_space: 0x00000011
| [ 3338.792414] fill_rx block, count: 0x00000000 i: 0x00000005, ipw_rx_queue_space: 0x00000011
| [ 3340.624946] fill_rx block, count: 0x00000000 i: 0x00000012, ipw_rx_queue_space: 0x00000011
| [ 3343.179358] fill_rx block, count: 0x00000000 i: 0x00000015, ipw_rx_queue_space: 0x00000011

and I had no firmware restart this time. It seems that it got fixed :)
thx.

Sebastian