Commit febd4f29 authored by Don Fry's avatar Don Fry Committed by Jeff Garzik

[PATCH] pcnet32 transmit hang fix

The pcnet32 driver will hang after a few frames (<30) with the 79C971
(and probably the 79C972 though I don't have the hardware to prove it).
By interrupting slightly more frequently the hang will not occur.
parent d6258fcd
......@@ -1452,11 +1452,12 @@ pcnet32_start_xmit(struct sk_buff *skb, struct net_device *dev)
status = 0x8300;
entry = (lp->cur_tx - lp->dirty_tx) & TX_RING_MOD_MASK;
if ((lp->ltint) &&
((entry == TX_RING_SIZE/2) ||
((entry == TX_RING_SIZE/3) ||
(entry == (TX_RING_SIZE*2)/3) ||
(entry >= TX_RING_SIZE-2)))
{
/* Enable Successful-TxDone interrupt if we have
* 1/2 of, or nearly all of, our ring buffer Tx'd
* 1/3, 2/3 or nearly all of, our ring buffer Tx'd
* but not yet cleaned up. Thus, most of the time,
* we will not enable Successful-TxDone interrupts.
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment