David Miller wrote:
quoted text >From: Matheos Worku <Matheos.Worku@Sun.COM>
>Date: Tue, 27 May 2008 18:18:57 -0700
>
>
>
>>Considering that fixing the HW would take considerable time, I was
>>wondering if the scheme we use in the nxge driver could be considered as
>>a workaround. Since the niu driver is already doing skb_orphan as a work
>>around, what if already transmitted TX buffers are reclaimed
>>periodically, within dev->hard_start_xmit() ? Then TX_DESC_MARK would
>>be set if/when available TX descriptor count falls below some watermark.
>>Disable device TX queue about the time TX_DESC_MARK is set and enable
>>it within TX interrupt.
>>
>>
>
>Since my hack patch didn't fix his problem at all, are you suggesting
>that we end up not fielding TX mark interrupts even though mark is set
>in all the TX descriptors and this is what hangs the chip?
>
>I find that very unlikely, especially because with my test patch every
>single TX descriptor will have the mark bit set and therefore we'd
>have to not receive all of those TX mark interrupts in order for the
>TX unit to hang like that.
>
>Something else must be going wrong.
>
>
Dave,
Actually what I am suggesting was a workaround for the lack of "TX Ring
Empty" interrupt by not relying on the TX interrupt at all. As for the
TX hang, I will try to reproduce the problem and look at the registers
for the clue.
Regards
Matheos
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24) , Matheos Worku , (Thu May 29, 5:14 pm)