[Cbe-oss-dev] PS3 stops receiving network packets
Geoff Levand
geoffrey.levand at am.sony.com
Sat Jun 27 09:05:37 EST 2009
On 06/25/2009 05:51 PM, Geoff Levand wrote:
> 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 added a fix to ps3-linux.git. I'll send it upstream after
more testing.
http://git.kernel.org/?p=linux/kernel/git/geoff/ps3-linux-patches.git;a=blob;f=ps3-wip/ps3-gelic-fix-rxdmac.patch;hb=HEAD
-Geoff
More information about the cbe-oss-dev
mailing list