Subject: Re: [PATCH 01/07] 8139too: Support for byte queue limits

From: Tino Reichardt <[email-masked]>
Date: Mon, 14 Oct 2013 21:31:55 +0200

* Eric Dumazet <[email-masked]> wrote:
> On Mon, 2013-10-14 at 20:26 +0200, Tino Reichardt wrote:
> > Changes to 8139too to use byte queue limits.
> > 
> > This patch was not tested on real hardware currently, but compiles fine and
> > should work.
> > 
> >  	tp->cur_tx = 0;
> >  	tp->dirty_tx = 0;
> > +	netdev_reset_queue(tp->dev);
> >  
> >  	/* XXX account for unsent Tx packets in tp->stats.tx_dropped */
> >  }
> > @@ -1733,6 +1735,7 @@ static netdev_tx_t rtl8139_start_xmit (struct sk_buff *skb,
> >  		   tp->tx_flag | max(len, (unsigned int)ETH_ZLEN));
> >  
> >  	tp->cur_tx++;
> > +	netdev_sent_queue(dev, len);
> >  
> 
> This looks wrong if len < ETH_ZLEN

Yes you are right. I looked to the debug statement in the end of that
function, so len had to be correct ... but it isn't ... yes :(

netif_dbg(tp, tx_queued, dev, "Queued Tx packet size %u to slot %d\n"...

Should a make len = max(len, ETH_ZLEN) there .. so the debug statement
is also correct?

-- 
Best regards, TR