···906static void fwnet_transmit_packet_done(struct fwnet_packet_task *ptask)907{908 struct fwnet_device *dev = ptask->dev;0909 unsigned long flags;910 bool free;911···917 /* Check whether we or the networking TX soft-IRQ is last user. */918 free = (ptask->outstanding_pkts == 0 && !list_empty(&ptask->pt_link));919920- if (ptask->outstanding_pkts == 0)921 list_del(&ptask->pt_link);000922923 spin_unlock_irqrestore(&dev->lock, flags);924···930 u16 fg_off;931 u16 datagram_label;932 u16 lf;933- struct sk_buff *skb;934935 /* Update the ptask to point to the next fragment and send it */936 lf = fwnet_get_hdr_lf(&ptask->hdr);···956 datagram_label = fwnet_get_hdr_dgl(&ptask->hdr);957 break;958 }959- skb = ptask->skb;960 skb_pull(skb, ptask->max_payload);961 if (ptask->outstanding_pkts > 1) {962 fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG,
···906static void fwnet_transmit_packet_done(struct fwnet_packet_task *ptask)907{908 struct fwnet_device *dev = ptask->dev;909+ struct sk_buff *skb = ptask->skb;910 unsigned long flags;911 bool free;912···916 /* Check whether we or the networking TX soft-IRQ is last user. */917 free = (ptask->outstanding_pkts == 0 && !list_empty(&ptask->pt_link));918919+ if (ptask->outstanding_pkts == 0) {920 list_del(&ptask->pt_link);921+ dev->netdev->stats.tx_packets++;922+ dev->netdev->stats.tx_bytes += skb->len;923+ }924925 spin_unlock_irqrestore(&dev->lock, flags);926···926 u16 fg_off;927 u16 datagram_label;928 u16 lf;0929930 /* Update the ptask to point to the next fragment and send it */931 lf = fwnet_get_hdr_lf(&ptask->hdr);···953 datagram_label = fwnet_get_hdr_dgl(&ptask->hdr);954 break;955 }956+957 skb_pull(skb, ptask->max_payload);958 if (ptask->outstanding_pkts > 1) {959 fwnet_make_sf_hdr(&ptask->hdr, RFC2374_HDR_INTFRAG,