qcacld-3.0: Release dev_hold before interface cleanup

hdd_for_each_adapter_dev_held_safe API takes dev_hold and
during cleanup of interface, dev is unregistered. So later
when dev_put is called, it results in illegal access to
unregistered dev.
Fix this issue by releasing dev_hold before interface cleanup.

Change-Id: Ib6bfe1a985f21be107b69beec0f92feccc98f34e
CRs-Fixed: 2855833
This commit is contained in:
Surabhi Vishnoi 2021-01-19 23:16:13 +05:30 • committed by snandini
commit 0ad4d25156

View file

@ -18604,13 +18604,16 @@ wlan_hdd_del_p2p_interface(struct hdd_context *hdd_ctx)
if (vdev_sync)
osif_vdev_sync_wait_for_ops(vdev_sync);
hdd_adapter_dev_put_debug(
adapter, NET_DEV_HOLD_DEL_P2P_INTERFACE);
hdd_clean_up_interface(hdd_ctx, adapter);
if (vdev_sync)
osif_vdev_sync_destroy(vdev_sync);
}
hdd_adapter_dev_put_debug(adapter,
NET_DEV_HOLD_DEL_P2P_INTERFACE);
} else
hdd_adapter_dev_put_debug(
adapter, NET_DEV_HOLD_DEL_P2P_INTERFACE);
}
}