qcacld-3.0: Cleanup checks in the driver exit path
Propagation from qcacld-2.0 to qcacld-3.0 Added sanity checks for below variable before accessing in the driver exit path. nl_srv_sock pdev_txrx_ctx Change-Id: I793db21e1a6d1eded027ecbd2805494ea7610852 CRs-Fixed: 846457
This commit is contained in:

committed by
Satish Singh

parent
8784091b26
commit
754d036bb5
@@ -149,7 +149,7 @@ int nl_srv_unregister(tWlanNlModTypes msg_type, nl_srv_msg_callback msg_handler)
|
||||
*/
|
||||
int nl_srv_ucast(struct sk_buff *skb, int dst_pid, int flag)
|
||||
{
|
||||
int err;
|
||||
int err = 0;
|
||||
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0))
|
||||
NETLINK_CB(skb).pid = 0; /* sender's pid */
|
||||
@@ -158,7 +158,8 @@ int nl_srv_ucast(struct sk_buff *skb, int dst_pid, int flag)
|
||||
#endif
|
||||
NETLINK_CB(skb).dst_group = 0; /* not multicast */
|
||||
|
||||
err = netlink_unicast(nl_srv_sock, skb, dst_pid, flag);
|
||||
if (nl_srv_sock)
|
||||
err = netlink_unicast(nl_srv_sock, skb, dst_pid, flag);
|
||||
|
||||
if (err < 0)
|
||||
CDF_TRACE(CDF_MODULE_ID_HDD, CDF_TRACE_LEVEL_WARN,
|
||||
@@ -174,7 +175,7 @@ int nl_srv_ucast(struct sk_buff *skb, int dst_pid, int flag)
|
||||
*/
|
||||
int nl_srv_bcast(struct sk_buff *skb)
|
||||
{
|
||||
int err;
|
||||
int err = 0;
|
||||
int flags = GFP_KERNEL;
|
||||
|
||||
if (in_interrupt() || irqs_disabled() || in_atomic())
|
||||
@@ -187,9 +188,9 @@ int nl_srv_bcast(struct sk_buff *skb)
|
||||
#endif
|
||||
NETLINK_CB(skb).dst_group = WLAN_NLINK_MCAST_GRP_ID; /* destination group */
|
||||
|
||||
err =
|
||||
netlink_broadcast(nl_srv_sock, skb, 0, WLAN_NLINK_MCAST_GRP_ID,
|
||||
flags);
|
||||
if (nl_srv_sock)
|
||||
err = netlink_broadcast(nl_srv_sock, skb, 0,
|
||||
WLAN_NLINK_MCAST_GRP_ID, flags);
|
||||
|
||||
if (err < 0) {
|
||||
CDF_TRACE(CDF_MODULE_ID_HDD, CDF_TRACE_LEVEL_WARN,
|
||||
|
@@ -1668,11 +1668,14 @@ CDF_STATUS wma_tx_detach(tp_wma_handle wma_handle)
|
||||
ol_txrx_pdev_handle txrx_pdev =
|
||||
(ol_txrx_pdev_handle) (cds_handle->pdev_txrx_ctx);
|
||||
|
||||
/* Deregister with TxRx for Tx Mgmt completion call back */
|
||||
for (frame_index = 0; frame_index < FRAME_INDEX_MAX; frame_index++)
|
||||
ol_txrx_mgmt_tx_cb_set(txrx_pdev, frame_index, NULL, NULL,
|
||||
txrx_pdev);
|
||||
|
||||
if (txrx_pdev) {
|
||||
/* Deregister with TxRx for Tx Mgmt completion call back */
|
||||
for (frame_index = 0; frame_index < FRAME_INDEX_MAX;
|
||||
frame_index++) {
|
||||
ol_txrx_mgmt_tx_cb_set(txrx_pdev, frame_index, NULL,
|
||||
NULL, txrx_pdev);
|
||||
}
|
||||
}
|
||||
/* Destroy Tx Frame Complete event */
|
||||
cdf_event_destroy(&wma_handle->tx_frm_download_comp_event);
|
||||
|
||||
|
Reference in New Issue
Block a user