net: cdc_ncm: always reallocate tx_curr_skb when tx_max increases
[platform/kernel/linux-rpi.git] / drivers / net / usb / cdc_ncm.c
index 2bbbd65..ff5b3a8 100644 (file)
@@ -268,6 +268,11 @@ static void cdc_ncm_update_rxtx_max(struct usbnet *dev, u32 new_rx, u32 new_tx)
        if (netif_running(dev->net) && val > ctx->tx_max) {
                netif_tx_lock_bh(dev->net);
                usbnet_start_xmit(NULL, dev->net);
+               /* make sure tx_curr_skb is reallocated if it was empty */
+               if (ctx->tx_curr_skb) {
+                       dev_kfree_skb_any(ctx->tx_curr_skb);
+                       ctx->tx_curr_skb = NULL;
+               }
                ctx->tx_max = val;
                netif_tx_unlock_bh(dev->net);
        } else {