Iam trying to implement channel switching similar to function
ar5212ChannelChange. However the function I have implemented is giving few
problems. One of which after some time the system restarts with the error
Receive FIFO overrun.
For debuging Iam trying to see if the function ath_stoprecv() can releive
the problem. However even if I use the the following lines of code,
if (ath_startrecv(sc) != 0)
printk("start recv failed\n");
I get the following error and system restarts
wifi0: ath_rxorn_tasklet: Receive FIFO overrun; resetting.
wifi0: ath_reset: Unable to reset hardware: 'Hardware didn't respond as
expected' (HAL status 3)
But I see that the same set of statements are being called in the function
ath_vap_create, ath_vap_delete and a couple of others. So why is it that
this error is not coming in these function call (ath_vap_create,
ath_vap_delete, etc) and it is coming when Iam calling these sequence of
And morever shouldnt ath_stoprecv() stop the reception of packets. So why am
I getting the Receive FIFO overrun error??