Hello Hans, On Mon, Sep 13, 2021 at 03:24:44PM +0200, Hans de Goede wrote: > Hi Fabio, > > > Note that sleep_q.lock is already taken inside > > rtw_free_xmitframe_queue so we just wrap sleepq_len > > access. > > > > Moved pxmitpriv->lock after sleep_q.lock release to > > avoid locks nesting. > > rtw_free_xmitframe_queue(pxmitpriv, &psta->sleep_q); > > + spin_lock_bh(&psta->sleep_q.lock); > > AFAICT this needs to be above the rtw_free_xmitframe_queue() ? as I wrote on the changelog, the sleep_q.lock is already taken inside rtw_free_xmitframe_queue. If I put the sleep_q.lock above that function a soft lock occurs when I disconnect. So I put it just below rtw_free_xmitframe_queue. Things works fine this way. Please tell me if there's a best way to do it. > > Regards, > > Hans thank you, fabio