<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: i.MX28 - Possible recursive locking detected in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254014#M23793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/242640.html" title="http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/242640.html"&gt;[PATCH] gpio: mxs: Allow for recursive enable_irq_wake() call&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Mar 2014 02:47:27 GMT</pubDate>
    <dc:creator>MarekVasut</dc:creator>
    <dc:date>2014-03-24T02:47:27Z</dc:date>
    <item>
      <title>i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254004#M23783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm integrating a TI WL1271 WLAN module into an i.MX28 design.&amp;nbsp; The WL1271 is connected to the i.MX28 via SSP1 (4 bit wide) SDIO and an IRQ pin (driven by the WL1271 and connected to a GPIO on the i.MX28).&amp;nbsp; I have the i.MX28 communicating to the WL1271 but I see the following informational.&amp;nbsp; The issue doesn't prevent the WL1271 driver from working, but I don't believe this is correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 13.910817] mmc1: card claims to support voltages below the defined range. These will be ignored.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 13.938941] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 13.950533] mmc1: new SDIO card at address 0001&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.046390] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.047931] =============================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.053345] [ INFO: possible recursive locking detected ]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.058762] 3.10.12 #9 Not tainted&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.062176] ---------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.067587] kworker/0:0/4 is trying to acquire lock:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.072562]&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c0067c3c&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.081021] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.081021] but task is already holding lock:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.086876]&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c0067c3c&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.095308] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.095308] other info that might help us debug this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.101854]&amp;nbsp; Possible unsafe locking scenario:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.101854] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.107789]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CPU0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.110243]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.112697]&amp;nbsp;&amp;nbsp; lock(&amp;amp;irq_desc_lock_class);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.116739]&amp;nbsp;&amp;nbsp; lock(&amp;amp;irq_desc_lock_class);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.120780] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.120780]&amp;nbsp; *** DEADLOCK ***&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.120780] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.126720]&amp;nbsp; May be due to missing lock nesting notation&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.126720] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.133528] 3 locks held by kworker/0:0/4:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.137634]&amp;nbsp; #0:&amp;nbsp; (events){.+.+.+}, at: [&amp;lt;c0035db0&amp;gt;] process_one_work+0x134/0x4a4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.145214]&amp;nbsp; #1:&amp;nbsp; ((&amp;amp;fw_work-&amp;gt;work)){+.+.+.}, at: [&amp;lt;c0035db0&amp;gt;] process_one_work+0x134/0x4a4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.153659]&amp;nbsp; #2:&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c0067c3c&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.162536] &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.162536] stack backtrace:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.166926] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 3.10.12 #9&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.173153] Workqueue: events request_firmware_work_func&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.178538] [&amp;lt;c0013e54&amp;gt;] (unwind_backtrace+0x0/0xf0) from [&amp;lt;c0011c10&amp;gt;] (show_stack+0x10/0x14)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.187122] [&amp;lt;c0011c10&amp;gt;] (show_stack+0x10/0x14) from [&amp;lt;c005b228&amp;gt;] (__lock_acquire+0x140c/0x1a64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.195959] [&amp;lt;c005b228&amp;gt;] (__lock_acquire+0x140c/0x1a64) from [&amp;lt;c005bdc8&amp;gt;] (lock_acquire+0x9c/0x104)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.205054] [&amp;lt;c005bdc8&amp;gt;] (lock_acquire+0x9c/0x104) from [&amp;lt;c04da944&amp;gt;] (_raw_spin_lock_irqsave+0x44/0x58)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.214496] [&amp;lt;c04da944&amp;gt;] (_raw_spin_lock_irqsave+0x44/0x58) from [&amp;lt;c0067c3c&amp;gt;] (__irq_get_desc_lock+0x48/0x88)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.224458] [&amp;lt;c0067c3c&amp;gt;] (__irq_get_desc_lock+0x48/0x88) from [&amp;lt;c00684c4&amp;gt;] (irq_set_irq_wake+0x20/0xf4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.233904] [&amp;lt;c00684c4&amp;gt;] (irq_set_irq_wake+0x20/0xf4) from [&amp;lt;c026e3b8&amp;gt;] (mxs_gpio_set_wake_irq+0x1c/0x24)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.243520] [&amp;lt;c026e3b8&amp;gt;] (mxs_gpio_set_wake_irq+0x1c/0x24) from [&amp;lt;c0068340&amp;gt;] (set_irq_wake_real+0x30/0x44)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.253220] [&amp;lt;c0068340&amp;gt;] (set_irq_wake_real+0x30/0x44) from [&amp;lt;c0068530&amp;gt;] (irq_set_irq_wake+0x8c/0xf4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.262504] [&amp;lt;c0068530&amp;gt;] (irq_set_irq_wake+0x8c/0xf4) from [&amp;lt;c030bf4c&amp;gt;] (wlcore_nvs_cb+0x10c/0x980)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.271608] [&amp;lt;c030bf4c&amp;gt;] (wlcore_nvs_cb+0x10c/0x980) from [&amp;lt;c02ba0b8&amp;gt;] (request_firmware_work_func+0x38/0x58)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.281574] [&amp;lt;c02ba0b8&amp;gt;] (request_firmware_work_func+0x38/0x58) from [&amp;lt;c0035e3c&amp;gt;] (process_one_work+0x1c0/0x4a4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.291796] [&amp;lt;c0035e3c&amp;gt;] (process_one_work+0x1c0/0x4a4) from [&amp;lt;c00364f4&amp;gt;] (worker_thread+0x138/0x394)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.301060] [&amp;lt;c00364f4&amp;gt;] (worker_thread+0x138/0x394) from [&amp;lt;c003c5bc&amp;gt;] (kthread+0xa4/0xb0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.309383] [&amp;lt;c003c5bc&amp;gt;] (kthread+0xa4/0xb0) from [&amp;lt;c000ee00&amp;gt;] (ret_from_fork+0x14/0x34)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.695611] wlcore: mem_start 00040000 mem_size 00014FC0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.700975] wlcore: reg_start 00300000 reg_size 00008800&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.706429] wlcore: mem2_start 00000000 mem2_size 00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.711951] wlcore: mem3_start 00000000 mem3_size 00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.720154] wlcore: PG Ver major = 3 minor = 0, MAC is not present&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.730585] wlcore: chip id 0x4030111 (1271 PG20)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.735361] wlcore: base address: oui deadbe nic ef0000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;[&amp;nbsp;&amp;nbsp; 14.800781] wlcore: loaded&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've investigated the issue and found how the double locking occurs although I'm not sure how to fix it.&amp;nbsp; In addition to the SDIO interface, the module provides an IRQ line that I've connected to a GPIO pin of the i.MX28.&amp;nbsp; The WL1271 driver sets up an IRQ handler for rising edges on the GPIO pin.&amp;nbsp; During the setup of this IRQ handler the double locking occurs.&amp;nbsp; In short, as far as I can see, a call to 'enable_irq_wake' may cause the double lock.&amp;nbsp; Here's the call stack (from mainline kernel version 3.10.12, same issue was also seen in 3.8.3)...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;wlcore_nvs_cb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (drivers/net/wireless/ti/wlcore/main.c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;enable_irq_wake&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (include/linux/interrupt.h)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;irq_set_irq_wake&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; irq_get_desc_buslock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c - locking occurs here)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;set_irq_wake_real&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;desc-&amp;gt;irq_data.chip-&amp;gt;irq_set_wake&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c, irq_set_wake is a function pointer that points to mxs_gpio_set_wake_irq)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;irq_set_wake -&amp;gt; mxs_gpio_set_wake_irq&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (drivers/gpio/gpio-mxs.c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;enable_irq_wake&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (include/linux/interrupt.h)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;irq_set_irq_wake&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; irq_get_desc_buslock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kernel/irq/manage.c - locking occurs here, again)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any advice or help would be appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Sep 2013 15:18:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254004#M23783</guid>
      <dc:creator>rabryn</dc:creator>
      <dc:date>2013-09-27T15:18:11Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254005#M23784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ryan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for reporting it. This is something that needs to be fixed. Could you please also try 3.12-rc2?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the problem is still there, then I would suggest you to report it via linux-arm-kernel mailing list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please also share your dts file in the report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Sep 2013 04:05:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254005#M23784</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-09-28T04:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254006#M23785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Fabio,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Same situation with 3.12.0-rc3:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.873503] =============================================&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.878922] [ INFO: possible recursive locking detected ]&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.884341] 3.12.0-rc3 #3 Not tainted&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.888017] ---------------------------------------------&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.893431] kworker/0:0/4 is trying to acquire lock:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.898408]&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c004f594&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.906873] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.906873] but task is already holding lock:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.912730]&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c004f594&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.921163] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.921163] other info that might help us debug this:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.927713]&amp;nbsp; Possible unsafe locking scenario:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.927713] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.933648]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CPU0&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.936103]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.938556]&amp;nbsp;&amp;nbsp; lock(&amp;amp;irq_desc_lock_class);&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.942597]&amp;nbsp;&amp;nbsp; lock(&amp;amp;irq_desc_lock_class);&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.946637] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.946637]&amp;nbsp; *** DEADLOCK ***&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.946637] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.952581]&amp;nbsp; May be due to missing lock nesting notation&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.952581] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.959391] 3 locks held by kworker/0:0/4:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.963497]&amp;nbsp; #0:&amp;nbsp; (events){.+.+.+}, at: [&amp;lt;c0032f0c&amp;gt;] process_one_work+0x134/0x4a4&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.971074]&amp;nbsp; #1:&amp;nbsp; ((&amp;amp;fw_work-&amp;gt;work)){+.+.+.}, at: [&amp;lt;c0032f0c&amp;gt;] process_one_work+0x134/0x4a4&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.979513]&amp;nbsp; #2:&amp;nbsp; (&amp;amp;irq_desc_lock_class){-.-...}, at: [&amp;lt;c004f594&amp;gt;] __irq_get_desc_lock+0x48/0x88&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.988390] &lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.988390] stack backtrace:&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.992781] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 3.12.0-rc3 #3&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 37.999261] Workqueue: events request_firmware_work_func&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.004662] [&amp;lt;c00144c8&amp;gt;] (unwind_backtrace+0x0/0xf0) from [&amp;lt;c0011ce4&amp;gt;] (show_stack+0x10/0x14)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.013243] [&amp;lt;c0011ce4&amp;gt;] (show_stack+0x10/0x14) from [&amp;lt;c0062034&amp;gt;] (__lock_acquire+0x140c/0x1a64)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.022070] [&amp;lt;c0062034&amp;gt;] (__lock_acquire+0x140c/0x1a64) from [&amp;lt;c0062bd4&amp;gt;] (lock_acquire+0x9c/0x104)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.031170] [&amp;lt;c0062bd4&amp;gt;] (lock_acquire+0x9c/0x104) from [&amp;lt;c05331d4&amp;gt;] (_raw_spin_lock_irqsave+0x44/0x58)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.040608] [&amp;lt;c05331d4&amp;gt;] (_raw_spin_lock_irqsave+0x44/0x58) from [&amp;lt;c004f594&amp;gt;] (__irq_get_desc_lock+0x48/0x88)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.050569] [&amp;lt;c004f594&amp;gt;] (__irq_get_desc_lock+0x48/0x88) from [&amp;lt;c004fe20&amp;gt;] (irq_set_irq_wake+0x20/0xf4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.060022] [&amp;lt;c004fe20&amp;gt;] (irq_set_irq_wake+0x20/0xf4) from [&amp;lt;c0283490&amp;gt;] (mxs_gpio_set_wake_irq+0x1c/0x24)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.069636] [&amp;lt;c0283490&amp;gt;] (mxs_gpio_set_wake_irq+0x1c/0x24) from [&amp;lt;c004fc98&amp;gt;] (set_irq_wake_real+0x30/0x44)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.079333] [&amp;lt;c004fc98&amp;gt;] (set_irq_wake_real+0x30/0x44) from [&amp;lt;c004fe8c&amp;gt;] (irq_set_irq_wake+0x8c/0xf4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.088616] [&amp;lt;c004fe8c&amp;gt;] (irq_set_irq_wake+0x8c/0xf4) from [&amp;lt;c03260bc&amp;gt;] (wlcore_nvs_cb+0x10c/0x8dc)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.097717] [&amp;lt;c03260bc&amp;gt;] (wlcore_nvs_cb+0x10c/0x8dc) from [&amp;lt;c02d03b0&amp;gt;] (request_firmware_work_func+0x38/0x58)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.107672] [&amp;lt;c02d03b0&amp;gt;] (request_firmware_work_func+0x38/0x58) from [&amp;lt;c0032f98&amp;gt;] (process_one_work+0x1c0/0x4a4)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.117886] [&amp;lt;c0032f98&amp;gt;] (process_one_work+0x1c0/0x4a4) from [&amp;lt;c0033654&amp;gt;] (worker_thread+0x13c/0x384)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.127158] [&amp;lt;c0033654&amp;gt;] (worker_thread+0x13c/0x384) from [&amp;lt;c0039744&amp;gt;] (kthread+0xa4/0xb0)&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp; 38.135471] [&amp;lt;c0039744&amp;gt;] (kthread+0xa4/0xb0) from [&amp;lt;c000efa0&amp;gt;] (ret_from_fork+0x14/0x34)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll post to the arm KML.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Ryan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Oct 2013 18:28:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254006#M23785</guid>
      <dc:creator>rabryn</dc:creator>
      <dc:date>2013-10-04T18:28:19Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254007#M23786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, Ryan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do you pass the IRQ GPIO pin in the device tree?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Oct 2013 18:37:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254007#M23786</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2013-10-04T18:37:12Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254008#M23787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not defining the IRQ in the device tree.&amp;nbsp; I defined it using 'wl12xx_platform_data' in mach-mxs.c.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 17:58:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254008#M23787</guid>
      <dc:creator>rabryn</dc:creator>
      <dc:date>2013-10-10T17:58:25Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254009#M23788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I had the same issue (TX28 board with TIWI-BLE).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my case, I disabled power management since I did not need it and made the issue go away (you might need a small patch to make it compile without CONFIG_PM).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alex&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 18:24:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254009#M23788</guid>
      <dc:creator>alexgal</dc:creator>
      <dc:date>2013-10-10T18:24:19Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254010#M23789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Alex,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I saw the #ifdef for CONFIG_PM&amp;nbsp; when I was digging around in the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On another note, did you use the bluetooth side of the wl1271?&amp;nbsp; I'm playing with that now... in bluez + pulseaudio hell trying to get audio to stream over bluetooth from a phone to the mx28 via wl1271.&amp;nbsp; I can get pulseaudio to recognize the bluetooth card, but it won't create a bluez_source.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ryan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 18:37:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254010#M23789</guid>
      <dc:creator>rabryn</dc:creator>
      <dc:date>2013-10-10T18:37:15Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254011#M23790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I only did a basic test with bluez i.e. scanning and pairing with my phone.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I did notice however that if I shutdown the TIWI, I am not able to do hciattach if I bring the TIWI back. ):&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 19:07:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254011#M23790</guid>
      <dc:creator>alexgal</dc:creator>
      <dc:date>2013-10-10T19:07:16Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254012#M23791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not exactly sure what you mean by "shutdown the TIWI", but I have to drive the 'bluetooth enable' pin low, pause, then back high before I can call hciattach, every time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2013 19:12:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254012#M23791</guid>
      <dc:creator>rabryn</dc:creator>
      <dc:date>2013-10-10T19:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254013#M23792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;"[PATCH] gpio: mxs: Allow for recursive enable_irq_wake() call" should be fixing this problem and is landing in linux-arm-kernel now.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2014 02:46:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254013#M23792</guid>
      <dc:creator>MarekVasut</dc:creator>
      <dc:date>2014-03-24T02:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX28 - Possible recursive locking detected</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254014#M23793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/242640.html" title="http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/242640.html"&gt;[PATCH] gpio: mxs: Allow for recursive enable_irq_wake() call&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Mar 2014 02:47:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX28-Possible-recursive-locking-detected/m-p/254014#M23793</guid>
      <dc:creator>MarekVasut</dc:creator>
      <dc:date>2014-03-24T02:47:27Z</dc:date>
    </item>
  </channel>
</rss>

