mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
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:
parent
044bda2e10
commit
e1086fad37
2 changed files with 15 additions and 11 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue