These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / rtl8723au / core / rtw_cmd.c
index 46aea16..3035bb8 100644 (file)
@@ -236,7 +236,8 @@ int rtw_enqueue_cmd23a(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
        res = queue_work(pcmdpriv->wq, &cmd_obj->work);
 
        if (!res) {
-               printk(KERN_ERR "%s: Call to queue_work() failed\n", __func__);
+               netdev_err(pcmdpriv->padapter->pnetdev,
+                          "%s: Call to queue_work() failed\n", __func__);
                res = _FAIL;
        } else
                res = _SUCCESS;
@@ -620,7 +621,7 @@ int rtw_disassoc_cmd23a(struct rtw_adapter *padapter, u32 deauth_timeout_ms,
        } else {
                /* no need to enqueue, do the cmd hdl directly and
                   free cmd parameter */
-               if (H2C_SUCCESS != disconnect_hdl23a(padapter, (u8 *)param))
+               if (disconnect_hdl23a(padapter, (u8 *)param) != H2C_SUCCESS)
                        res = _FAIL;
                kfree(param);
        }
@@ -1342,6 +1343,7 @@ void rtw_createbss_cmd23a_callback(struct rtw_adapter *padapter,
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)pcmd->parmbuf;
        struct wlan_network *tgt_network = &pmlmepriv->cur_network;
+       struct rtw_queue *scanned_queue = &pmlmepriv->scanned_queue;
 
        if (pcmd->res != H2C_SUCCESS) {
                RT_TRACE(_module_rtl871x_cmd_c_, _drv_err_,
@@ -1371,19 +1373,19 @@ void rtw_createbss_cmd23a_callback(struct rtw_adapter *padapter,
                spin_unlock_bh(&pmlmepriv->lock);
        } else {
                pwlan = rtw_alloc_network(pmlmepriv, GFP_KERNEL);
-               spin_lock_bh(&pmlmepriv->scanned_queue.lock);
+               spin_lock_bh(&scanned_queue->lock);
                if (!pwlan) {
-                       pwlan = rtw_get_oldest_wlan_network23a(&pmlmepriv->scanned_queue);
+                       pwlan = rtw_get_oldest_wlan_network23a(scanned_queue);
                        if (!pwlan) {
                                RT_TRACE(_module_rtl871x_cmd_c_, _drv_err_,
                                         "Error:  can't get pwlan in rtw23a_joinbss_event_cb\n");
-                               spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
+                               spin_unlock_bh(&scanned_queue->lock);
                                goto createbss_cmd_fail;
                        }
                        pwlan->last_scanned = jiffies;
                } else {
                        list_add_tail(&pwlan->list,
-                                     &pmlmepriv->scanned_queue.queue);
+                                     &scanned_queue->queue);
                }
 
                pnetwork->Length = get_wlan_bssid_ex_sz(pnetwork);
@@ -1402,9 +1404,9 @@ void rtw_createbss_cmd23a_callback(struct rtw_adapter *padapter,
 
                clr_fwstate(pmlmepriv, _FW_UNDER_LINKING);
 
-               spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
                /*  we will set _FW_LINKED when there is one more sat to
                    join us (rtw_stassoc_event_callback23a) */
+               spin_unlock_bh(&scanned_queue->lock);
        }
 
 createbss_cmd_fail: