wilc1000: free resource in wilc_wlan_txq_add_mgmt_pkt() for failure path
authorAjay Singh <ajay.kathat@microchip.com>
Wed, 25 Nov 2020 11:41:09 +0000 (11:41 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 2 Dec 2020 19:38:10 +0000 (21:38 +0200)
Before returing from wilc_wlan_txq_add_mgmt_pkt() invoke tx_complete_fn()
callback to free up allocated memory for failure case.

Signed-off-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201125114059.10006-4-ajay.kathat@microchip.com
drivers/net/wireless/microchip/wilc1000/wlan.c

index f0cc2da..42b5db4 100644 (file)
@@ -319,13 +319,17 @@ int wilc_wlan_txq_add_mgmt_pkt(struct net_device *dev, void *priv, u8 *buffer,
 
        wilc = vif->wilc;
 
-       if (wilc->quit)
+       if (wilc->quit) {
+               tx_complete_fn(priv, 0);
                return 0;
+       }
 
        tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC);
 
-       if (!tqe)
+       if (!tqe) {
+               tx_complete_fn(priv, 0);
                return 0;
+       }
        tqe->type = WILC_MGMT_PKT;
        tqe->buffer = buffer;
        tqe->buffer_size = buffer_size;