Re: NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24)

From: David Miller
Date: Thu May 29 2008 - 01:34:30 EST


From: Matheos Worku <Matheos.Worku@xxxxxxx>
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/