All of lore.kernel.org
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: brilliantov@byterg.ru, linux-wireless@vger.kernel.org
Subject: Re: 8188e: possible recursive locking detected on linux-3.18.7
Date: Tue, 03 Mar 2015 10:30:00 -0600	[thread overview]
Message-ID: <54F5E188.9030204@lwfinger.net> (raw)
In-Reply-To: <54F56F50.6070505@byterg.ru>

On 03/03/2015 02:22 AM, Brilliantov Kirill Vladimirovich wrote:
> Hello!
> I work with linux-3.18.7 on board with FreeScale iMX287 ARM CPU, for tests I use
> USB TP-Link TL-WN725N on RTL8188e chip.
>
> [    7.802249] usb 1-1: new high-speed USB device number 2 using ci_hdrc
> [    7.982221] Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0)
>
> ifconfig wlan0 up
> [   50.193673] MAC Address = e8:de:27:a3:ee:9d
>
> iwlist wlan0 scan
> [   56.633485]
> [   56.635036] =============================================
> [   56.640453] [ INFO: possible recursive locking detected ]
> [   56.645876] 3.18.7+ #40 Not tainted
> [   56.649379] ---------------------------------------------
> [   56.654794] RTW_CMD_THREAD/84 is trying to acquire lock:
> [   56.660118]  (&(&(pqueue->lock))->rlock){+.-...}, at: [<c0232fdc>]
> _rtw_alloc_network+0x14/0xc4
> [   56.668948]
> [   56.668948] but task is already holding lock:
> [   56.674801]  (&(&(pqueue->lock))->rlock){+.-...}, at: [<c0235de8>]
> rtw_update_scanned_network+0x18/0x250
> [   56.684378]
> [   56.684378] other info that might help us debug this:
> [   56.690924]  Possible unsafe locking scenario:
> [   56.690924]
> [   56.696858]        CPU0
> [   56.699313]        ----
> [   56.701766]   lock(&(&(pqueue->lock))->rlock);
> [   56.706244]   lock(&(&(pqueue->lock))->rlock);
> [   56.710721]
> [   56.710721]  *** DEADLOCK ***
> [   56.710721]
> [   56.716662]  May be due to missing lock nesting notation
> [   56.716662]
> [   56.723474] 2 locks held by RTW_CMD_THREAD/84:
> [   56.727927]  #0:  (&(&(pmlmepriv->lock))->rlock){+.....}, at: [<c023609c>]
> rtw_survey_event_callback+0x7c/0x1c4
> [   56.738115]  #1:  (&(&(pqueue->lock))->rlock){+.-...}, at: [<c0235de8>]
> rtw_update_scanned_network+0x18/0x250
> [   56.748125]
> [   56.748125] stack backtrace:
> [   56.752516] CPU: 0 PID: 84 Comm: RTW_CMD_THREAD Not tainted 3.18.7+ #40
> [   56.759198] [<c000e010>] (unwind_backtrace) from [<c000c47c>]
> (show_stack+0x10/0x14)
> [   56.767002] [<c000c47c>] (show_stack) from [<c003cfa0>]
> (validate_chain+0xd14/0x1154)
> [   56.774878] [<c003cfa0>] (validate_chain) from [<c003d940>]
> (__lock_acquire+0x560/0xbb0)
> [   56.783011] [<c003d940>] (__lock_acquire) from [<c003dff4>]
> (lock_acquire+0x64/0x78)
> [   56.790804] [<c003dff4>] (lock_acquire) from [<c035cbf4>]
> (_raw_spin_lock_bh+0x44/0x58)
> [   56.798865] [<c035cbf4>] (_raw_spin_lock_bh) from [<c0232fdc>]
> (_rtw_alloc_network+0x14/0xc4)
> [   56.807442] [<c0232fdc>] (_rtw_alloc_network) from [<c0235e68>]
> (rtw_update_scanned_network+0x98/0x250)
> [   56.816881] [<c0235e68>] (rtw_update_scanned_network) from [<c0236118>]
> (rtw_survey_event_callback+0xf8/0x1c4)
> [   56.826922] [<c0236118>] (rtw_survey_event_callback) from [<c023683c>]
> (mlme_evt_hdl+0x5c/0xec)
> [   56.835658] [<c023683c>] (mlme_evt_hdl) from [<c022aef0>]
> (rtw_cmd_thread+0x110/0x348)
> [   56.843623] [<c022aef0>] (rtw_cmd_thread) from [<c002c964>] (kthread+0xb8/0xd4)
> [   56.850972] [<c002c964>] (kthread) from [<c0009680>] (ret_from_fork+0x14/0x34)
>
> I get network list success.
>
> This problem fixed in next linux versions?
> Thank you and excuse me for my bad english.

There is no 8188e driver. Do you mean r8188eu, 8188eu, or rtl8188ee? I think you 
mean one of the first two. Because your kernel is not tainted with "O", I think 
you are using r8188eu, which is the in-kernel driver for the RTL8188EU chip.

That is a known bug in the driver; however, it is benign. I have worked at 
clearing that recursive lock, only to run into another one. Unfortunately, I 
have not found the time to complete an analysis of the locking.

Patches are welcome.

Larry


      reply	other threads:[~2015-03-03 16:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03  8:22 8188e: possible recursive locking detected on linux-3.18.7 Brilliantov Kirill Vladimirovich
2015-03-03 16:30 ` Larry Finger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F5E188.9030204@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=brilliantov@byterg.ru \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.