diff options
author | Ajay Singh <ajay.kathat@microchip.com> | 2020-11-25 11:41:09 +0000 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-12-02 21:38:10 +0200 |
commit | 66aea5d198c3ad4434e6adfb66dcb574c9a14779 (patch) | |
tree | 4ee903c06c70ec55a9845a3b58f71eca85e6f6a0 | |
parent | dd460e2ac05ffa52db52a2ab9e64f82ce402eab9 (diff) | |
download | linux-stable-66aea5d198c3ad4434e6adfb66dcb574c9a14779.tar.gz linux-stable-66aea5d198c3ad4434e6adfb66dcb574c9a14779.tar.bz2 linux-stable-66aea5d198c3ad4434e6adfb66dcb574c9a14779.zip |
wilc1000: free resource in wilc_wlan_txq_add_mgmt_pkt() for failure path
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
-rw-r--r-- | drivers/net/wireless/microchip/wilc1000/wlan.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c index f0cc2da7c9c7..42b5db4e2d81 100644 --- a/drivers/net/wireless/microchip/wilc1000/wlan.c +++ b/drivers/net/wireless/microchip/wilc1000/wlan.c @@ -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; |