[Cbe-oss-dev] PS3 stops receiving network packets
Geoff Levand
geoffrey.levand at am.sony.com
Fri Jun 26 10:51:39 EST 2009
On 06/24/2009 05:25 PM, Geoff Levand wrote:
> On 06/23/2009 06:36 PM, Akinobu Mita wrote:
>>> Did you ever get this behavior using something other than busybox?
>>
>> Unfortunately, I can reproduce it without busybox.
>> This is simplified steps to reproduce it (no busybox required)
>
> OK, I could verify it with fedora 11 and the current ps3-linux.git
> kernel. I will investigate.
The docs say that RX_DMA_EN is automatically cleared in the
hardware for an RX_DMA_CHAIN_END event, and should be set by
software when finished processing the event, but the current
code delays setting RX_DMA_EN until inside the next interrupt
handler (card->rx_dma_restart_required).
This seems to cause the problem. I don't think an RX interrupt
will occur if RX_DMA_EN is not set. If something gets
transmitted, then RX_DMA_EN is set in the TX interrupt and RX
processing then continues.
I need to study it more, and do some testing to verify.
-Geoff
More information about the cbe-oss-dev
mailing list