wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
authorDmitry Antipov <dmantipov@yandex.ru>
Mon, 31 Jul 2023 07:43:07 +0000 (10:43 +0300)
committerKalle Valo <kvalo@kernel.org>
Wed, 2 Aug 2023 10:14:22 +0000 (13:14 +0300)
commit288c63d5cb4667a51a04668b3e2bb0ea499bc5f4
tree309846363c1ffc84930b0b93a40eabf77c74a7ea
parent0701519fda6fe8390e48a910da4ffb0f178ca332
wifi: mwifiex: fix error recovery in PCIE buffer descriptor management

Add missing 'kfree_skb()' in 'mwifiex_init_rxq_ring()' and never do
'kfree(card->rxbd_ring_vbase)' because this area is DMAed and should
be released with 'dma_free_coherent()'. The latter is performed in
'mwifiex_pcie_delete_rxbd_ring()', which is now called to recover
from possible errors in 'mwifiex_pcie_create_rxbd_ring()'. Likewise
for 'mwifiex_pcie_init_evt_ring()', 'kfree(card->evtbd_ring_vbase)'
'mwifiex_pcie_delete_evtbd_ring()' and 'mwifiex_pcie_create_rxbd_ring()'.

Fixes: d930faee141b ("mwifiex: add support for Marvell pcie8766 chipset")
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Acked-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230731074334.56463-1-dmantipov@yandex.ru
drivers/net/wireless/marvell/mwifiex/pcie.c