}
if (ring->buf[i].skb) {
- bytes_compl += ring->buf[i].skb->len;
+ bytes_compl += ring->buf[i].len;
pkts_compl++;
dev_kfree_skb_any(ring->buf[i].skb);
}
DMA_TO_DEVICE);
netdev_sent_queue(dev, skb->len);
+ ring->buf[i].len = skb->len;
ring->buf[i].skb = skb;
ring->buf[i].timestamp = jiffies;
unsigned int i = ring->dirty % ring->size;
struct ag71xx_desc *desc = ring->buf[i].desc;
struct sk_buff *skb = ring->buf[i].skb;
+ int len = ring->buf[i].len;
if (!ag71xx_desc_empty(desc)) {
if (pdata->is_ar7240 &&
ag71xx_wr(ag, AG71XX_REG_TX_STATUS, TX_STATUS_PS);
- bytes_compl += skb->len;
- ag->dev->stats.tx_bytes += skb->len;
+ bytes_compl += len;
+ ag->dev->stats.tx_bytes += len;
ag->dev->stats.tx_packets++;
dev_kfree_skb_any(skb);