Wireless: nl80211, fix lock imbalance
[firefly-linux-kernel-4.4.55.git] / net / core / pktgen.c
index 0666a827bc62d3a9cd067c744c650f4d6337d563..19b8c20e98a4fdaf997a8d32c21bb1436e49915b 100644 (file)
@@ -3438,6 +3438,7 @@ static __inline__ void pktgen_xmit(struct pktgen_dev *pkt_dev)
              retry_now:
                ret = (*xmit)(pkt_dev->skb, odev);
                if (likely(ret == NETDEV_TX_OK)) {
+                       txq_trans_update(txq);
                        pkt_dev->last_ok = 1;
                        pkt_dev->sofar++;
                        pkt_dev->seq_num++;
@@ -3690,8 +3691,7 @@ out1:
 #ifdef CONFIG_XFRM
        free_SAs(pkt_dev);
 #endif
-       if (pkt_dev->flows)
-               vfree(pkt_dev->flows);
+       vfree(pkt_dev->flows);
        kfree(pkt_dev);
        return err;
 }
@@ -3790,8 +3790,7 @@ static int pktgen_remove_device(struct pktgen_thread *t,
 #ifdef CONFIG_XFRM
        free_SAs(pkt_dev);
 #endif
-       if (pkt_dev->flows)
-               vfree(pkt_dev->flows);
+       vfree(pkt_dev->flows);
        kfree(pkt_dev);
        return 0;
 }