[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100502.223852.219748077.davem@davemloft.net>
Date: Sun, 02 May 2010 22:38:52 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: ben@...tec.co.uk
Cc: netdev@...r.kernel.org, tristram.ha@...rel.com,
support@...cantools.com
Subject: Re: [patch 01/13] KS8851: Fix ks8851 snl transmit problem
From: Ben Dooks <ben@...tec.co.uk>
Date: Fri, 30 Apr 2010 00:16:22 +0100
> From: Tristram Ha <Tristram.Ha@...rel.com>
>
> This fixes a transmit problem of the ks8851 snl network driver.
>
> Under heavy TCP traffic the device will stop transmitting. Turning off
> the transmit interrupt avoids this issue. A new workqueue was
> implemented to replace the functionality of the transmit interrupt processing.
>
> Signed-off-by: Tristram Ha <Tristram.Ha@...rel.com>
Please, try to fix this properly. Unless you have a known chip errata
with the TX interrupt that cannot be worked around reasonably, which
would need to be detailed and explained completely in the commit log
message, you should try to figure out what the real problem is.
Otherwise just tossing everything to a workqueue looks like a hack, at
best.
I suspect you have some kind of race between IRQ processing and the
->ndo_start_xmit() handler, so you end up missing a queue wakeup.
Either that or you end up misprogramming the hardware due to the race.
There is no way I'm applying this as-is.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists