@@ -1723,15 +1723,12 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram
17231723 struct list_head * plist , * phead , * tmp ;
17241724 struct xmit_frame * pxmitframe ;
17251725
1726- spin_lock_bh (& pframequeue -> lock );
1727-
17281726 phead = get_list_head (pframequeue );
17291727 list_for_each_safe (plist , tmp , phead ) {
17301728 pxmitframe = list_entry (plist , struct xmit_frame , list );
17311729
17321730 rtw_free_xmitframe (pxmitpriv , pxmitframe );
17331731 }
1734- spin_unlock_bh (& pframequeue -> lock );
17351732}
17361733
17371734s32 rtw_xmitframe_enqueue (struct adapter * padapter , struct xmit_frame * pxmitframe )
@@ -1786,6 +1783,7 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
17861783 struct sta_info * psta ;
17871784 struct tx_servq * ptxservq ;
17881785 struct pkt_attrib * pattrib = & pxmitframe -> attrib ;
1786+ struct xmit_priv * xmit_priv = & padapter -> xmitpriv ;
17891787 struct hw_xmit * phwxmits = padapter -> xmitpriv .hwxmits ;
17901788 signed int res = _SUCCESS ;
17911789
@@ -1803,12 +1801,14 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
18031801
18041802 ptxservq = rtw_get_sta_pending (padapter , psta , pattrib -> priority , (u8 * )(& ac_index ));
18051803
1804+ spin_lock_bh (& xmit_priv -> lock );
18061805 if (list_empty (& ptxservq -> tx_pending ))
18071806 list_add_tail (& ptxservq -> tx_pending , get_list_head (phwxmits [ac_index ].sta_queue ));
18081807
18091808 list_add_tail (& pxmitframe -> list , get_list_head (& ptxservq -> sta_pending ));
18101809 ptxservq -> qcnt ++ ;
18111810 phwxmits [ac_index ].accnt ++ ;
1811+ spin_unlock_bh (& xmit_priv -> lock );
18121812
18131813exit :
18141814
@@ -2191,11 +2191,10 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
21912191 struct list_head * xmitframe_plist , * xmitframe_phead , * tmp ;
21922192 struct xmit_frame * pxmitframe = NULL ;
21932193 struct sta_priv * pstapriv = & padapter -> stapriv ;
2194- struct xmit_priv * pxmitpriv = & padapter -> xmitpriv ;
21952194
21962195 psta_bmc = rtw_get_bcmc_stainfo (padapter );
21972196
2198- spin_lock_bh (& pxmitpriv -> lock );
2197+ spin_lock_bh (& psta -> sleep_q . lock );
21992198
22002199 xmitframe_phead = get_list_head (& psta -> sleep_q );
22012200 list_for_each_safe (xmitframe_plist , tmp , xmitframe_phead ) {
@@ -2296,7 +2295,7 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
22962295
22972296_exit :
22982297
2299- spin_unlock_bh (& pxmitpriv -> lock );
2298+ spin_unlock_bh (& psta -> sleep_q . lock );
23002299
23012300 if (update_mask )
23022301 update_beacon (padapter , WLAN_EID_TIM , NULL , true);
@@ -2308,9 +2307,8 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
23082307 struct list_head * xmitframe_plist , * xmitframe_phead , * tmp ;
23092308 struct xmit_frame * pxmitframe = NULL ;
23102309 struct sta_priv * pstapriv = & padapter -> stapriv ;
2311- struct xmit_priv * pxmitpriv = & padapter -> xmitpriv ;
23122310
2313- spin_lock_bh (& pxmitpriv -> lock );
2311+ spin_lock_bh (& psta -> sleep_q . lock );
23142312
23152313 xmitframe_phead = get_list_head (& psta -> sleep_q );
23162314 list_for_each_safe (xmitframe_plist , tmp , xmitframe_phead ) {
@@ -2363,7 +2361,7 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
23632361 }
23642362 }
23652363
2366- spin_unlock_bh (& pxmitpriv -> lock );
2364+ spin_unlock_bh (& psta -> sleep_q . lock );
23672365}
23682366
23692367void enqueue_pending_xmitbuf (struct xmit_priv * pxmitpriv , struct xmit_buf * pxmitbuf )
0 commit comments