qcacld-3.0: Fix deadlock for pre CAC adapter unregister

Vendor command pre_doit holds wiphy lock inside kernel and calls
into driver vendor command handler and from driver vendor command handler
if unregister_netdevice() is called it will try to acquire same wiphy lock
inside kernel cfg80211_netdev_notifier_call() and deadlock.

To fix this issue from driver vendor command handler for pre CAC adapter
stop call cfg80211_unregister_netdevice to avoid recursive wiphy locking.

Change-Id: Id939016c1baf730707346f2375d0b952017a48f5
CRs-Fixed: 3493940
This commit is contained in:
Rajeev Kumar
2023-05-11 15:05:22 -07:00
committed by Madan Koyyalamudi
parent f8ebc95aef
commit 1ff8294469

View File

@@ -127,6 +127,7 @@ void hdd_close_pre_cac_adapter(struct hdd_context *hdd_ctx)
osif_vdev_sync_wait_for_ops(vdev_sync);
wlan_hdd_release_intf_addr(hdd_ctx, pre_cac_adapter->mac_addr.bytes);
pre_cac_adapter->is_virtual_iface = true;
hdd_close_adapter(hdd_ctx, pre_cac_adapter, true);
osif_vdev_sync_trans_stop(vdev_sync);