Search Linux Wireless

[2.6.38-rc1] iwlagn lock misuse...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Booting an instrumented 2.6.38-rc1 kernel with an Intel WiFi Link 5300
card and associating with an access point, I see a lockdep warning
[attached].

This is essentially (struct iwl_priv)->lock being taken with
interrupts disabled in iwl-agn-ict.c:152 [1] and the same lock taken
with interrupts enabled in rx.c:2476 [2] (confirmed via disassembly).

It feels like this would have been introduced in this commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=6e8cc38d5b05bb812f89a35bd9bf52405e67d0df

Shall I raise a kernel.org bugzilla entry?

Thanks,
  Daniel

--- [1] iwl-agn-ict.c:152

static irqreturn_t iwl_isr(int irq, void *data)
{
	struct iwl_priv *priv = data;
	u32 inta, inta_mask;
	unsigned long flags;
#ifdef CONFIG_IWLWIFI_DEBUG
	u32 inta_fh;
#endif
	if (!priv)
		return IRQ_NONE;

	spin_lock_irqsave(&priv->lock, flags); <---

--- [2] rx.c:2476

static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx)
{
	ieee80211_rx_result res = RX_DROP_MONITOR;
	struct sk_buff *skb;

#define CALL_RXH(rxh)			\
	do {				\
		res = rxh(rx);		\
		if (res != RX_CONTINUE)	\
			goto rxh_next;  \
	} while (0);

	spin_lock(&rx->local->rx_skb_queue.lock);  <---
-- 
Daniel J Blueman
[   32.034539] ======================================================
[   32.034544] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ]
[   32.034547] 2.6.38-rc1-340cd+ #3
[   32.034549] ------------------------------------------------------
[   32.034553] dbus-daemon/490 [HC0[0]:SC1[1]:HE0:SE0] is trying to acquire:
[   32.034557]  (&(&list->lock)->rlock#4){+.-...}, at: [<ffffffff81562a46>] skb_queue_tail+0x26/0x60
[   32.034568] 
[   32.034569] and this task is already holding:
[   32.034572]  (&(&priv->sta_lock)->rlock){..-...}, at: [<ffffffffa01f4a3c>] iwlagn_rx_reply_tx+0x14c/0xc20 [iwlagn]
[   32.034586] which would create a new lock dependency:
[   32.034589]  (&(&priv->sta_lock)->rlock){..-...} -> (&(&list->lock)->rlock#4){+.-...}
[   32.034599] 
[   32.034599] but this new dependency connects a HARDIRQ-irq-safe lock:
[   32.034602]  (&(&priv->lock)->rlock){-.-...}
[   32.034606] ... which became HARDIRQ-irq-safe at:
[   32.034608]   [<ffffffff810a7644>] __lock_acquire+0xc74/0x1d10
[   32.034616]   [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.034621]   [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.034628]   [<ffffffffa02008ff>] iwl_isr_ict+0x4bf/0x1510 [iwlagn]
[   32.034638]   [<ffffffff810db4bd>] handle_IRQ_event+0x7d/0x350
[   32.034645]   [<ffffffff810ddf86>] handle_edge_irq+0xb6/0x160
[   32.034650]   [<ffffffff81006824>] handle_irq+0x44/0x90
[   32.034656]   [<ffffffff810058d8>] do_IRQ+0x58/0xd0
[   32.034661]   [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.034666]   [<ffffffff8136a0a8>] __udelay+0x28/0x30
[   32.034672]   [<ffffffffa00180c1>] sclhi+0x71/0x90 [i2c_algo_bit]
[   32.034679]   [<ffffffffa0018548>] bit_xfer+0x198/0x4c0 [i2c_algo_bit]
[   32.034684]   [<ffffffff814d31c9>] i2c_transfer+0xc9/0x110
[   32.034691]   [<ffffffffa00a4cca>] drm_do_probe_ddc_edid+0x4a/0x60 [drm]
[   32.034704]   [<ffffffffa00a4f0c>] drm_get_edid+0x8c/0x240 [drm]
[   32.034715]   [<ffffffffa0267fad>] radeon_modeset_init+0x4cd/0x8f0 [radeon]
[   32.034737]   [<ffffffffa02414c8>] radeon_driver_load_kms+0x108/0x180 [radeon]
[   32.034752]   [<ffffffffa009c032>] drm_get_pci_dev+0x192/0x2b0 [drm]
[   32.034764]   [<ffffffffa02d5a91>] radeon_pci_probe+0xaa/0x619 [radeon]
[   32.034782]   [<ffffffff8138753a>] local_pci_probe+0x5a/0xd0
[   32.034787]   [<ffffffff813886e9>] pci_device_probe+0x109/0x110
[   32.034793]   [<ffffffff8140f5c6>] driver_probe_device+0x96/0x1c0
[   32.034799]   [<ffffffff8140f78b>] __driver_attach+0x9b/0xa0
[   32.034804]   [<ffffffff8140ec68>] bus_for_each_dev+0x68/0x90
[   32.034809]   [<ffffffff8140f3e9>] driver_attach+0x19/0x20
[   32.034814]   [<ffffffff8140e4d8>] bus_add_driver+0x1b8/0x280
[   32.034819]   [<ffffffff8140fa98>] driver_register+0x78/0x140
[   32.034824]   [<ffffffff81388941>] __pci_register_driver+0x61/0xe0
[   32.034830]   [<ffffffffa009c21f>] drm_pci_init+0xcf/0xe0 [drm]
[   32.034842]   [<ffffffffa0093763>] drm_init+0x53/0x70 [drm]
[   32.034852]   [<ffffffffa03180c4>] 0xffffffffa03180c4
[   32.034857]   [<ffffffff810001de>] do_one_initcall+0x3e/0x1a0
[   32.034862]   [<ffffffff810b7e12>] sys_init_module+0xf2/0x250
[   32.034868]   [<ffffffff81003192>] system_call_fastpath+0x16/0x1b
[   32.034874] 
[   32.034874] to a HARDIRQ-irq-unsafe lock:
[   32.034877]  (&(&list->lock)->rlock#4){+.-...}
[   32.034881] ... which became HARDIRQ-irq-unsafe at:
[   32.034884] ...  [<ffffffff810a74ed>] __lock_acquire+0xb1d/0x1d10
[   32.034890]   [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.034896]   [<ffffffff816d317b>] _raw_spin_lock+0x3b/0x70
[   32.034901]   [<ffffffffa0058686>] ieee80211_rx_handlers+0x36/0x1e80 [mac80211]
[   32.034914]   [<ffffffffa005a6e4>] ieee80211_prepare_and_rx_handle+0x214/0xa70 [mac80211]
[   32.034926]   [<ffffffffa005b3e7>] ieee80211_rx+0x3c7/0xbb0 [mac80211]
[   32.034938]   [<ffffffffa01eee68>] iwlagn_rx_reply_rx+0x428/0x670 [iwlagn]
[   32.034948]   [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.034956]   [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.034964]   [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.034970]   [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.034975]   [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.034980]   [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.034984]   [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.034989]   [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.034994]   [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.034999] 
[   32.035000] other info that might help us debug this:
[   32.035001] 
[   32.035004] 2 locks held by dbus-daemon/490:
[   32.035006]  #0:  (&mm->mmap_sem){++++++}, at: [<ffffffff810334e3>] do_page_fault+0x113/0x510
[   32.035016]  #1:  (&(&priv->sta_lock)->rlock){..-...}, at: [<ffffffffa01f4a3c>] iwlagn_rx_reply_tx+0x14c/0xc20 [iwlagn]
[   32.035030] 
[   32.035031] the dependencies between HARDIRQ-irq-safe lock and the holding lock:
[   32.035052]  -> (&(&priv->lock)->rlock){-.-...} ops: 3571 {
[   32.035060]     IN-HARDIRQ-W at:
[   32.035063]                                          [<ffffffff810a7644>] __lock_acquire+0xc74/0x1d10
[   32.035070]                                          [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.035075]                                          [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.035082]                                          [<ffffffffa02008ff>] iwl_isr_ict+0x4bf/0x1510 [iwlagn]
[   32.035092]                                          [<ffffffff810db4bd>] handle_IRQ_event+0x7d/0x350
[   32.035099]                                          [<ffffffff810ddf86>] handle_edge_irq+0xb6/0x160
[   32.035104]                                          [<ffffffff81006824>] handle_irq+0x44/0x90
[   32.035110]                                          [<ffffffff810058d8>] do_IRQ+0x58/0xd0
[   32.035115]                                          [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.035121]                                          [<ffffffff8136a0a8>] __udelay+0x28/0x30
[   32.035126]                                          [<ffffffffa00180c1>] sclhi+0x71/0x90 [i2c_algo_bit]
[   32.035133]                                          [<ffffffffa0018548>] bit_xfer+0x198/0x4c0 [i2c_algo_bit]
[   32.035139]                                          [<ffffffff814d31c9>] i2c_transfer+0xc9/0x110
[   32.035145]                                          [<ffffffffa00a4cca>] drm_do_probe_ddc_edid+0x4a/0x60 [drm]
[   32.035157]                                          [<ffffffffa00a4f0c>] drm_get_edid+0x8c/0x240 [drm]
[   32.035169]                                          [<ffffffffa0267fad>] radeon_modeset_init+0x4cd/0x8f0 [radeon]
[   32.035190]                                          [<ffffffffa02414c8>] radeon_driver_load_kms+0x108/0x180 [radeon]
[   32.035206]                                          [<ffffffffa009c032>] drm_get_pci_dev+0x192/0x2b0 [drm]
[   32.035219]                                          [<ffffffffa02d5a91>] radeon_pci_probe+0xaa/0x619 [radeon]
[   32.035237]                                          [<ffffffff8138753a>] local_pci_probe+0x5a/0xd0
[   32.035243]                                          [<ffffffff813886e9>] pci_device_probe+0x109/0x110
[   32.035249]                                          [<ffffffff8140f5c6>] driver_probe_device+0x96/0x1c0
[   32.035255]                                          [<ffffffff8140f78b>] __driver_attach+0x9b/0xa0
[   32.035261]                                          [<ffffffff8140ec68>] bus_for_each_dev+0x68/0x90
[   32.035267]                                          [<ffffffff8140f3e9>] driver_attach+0x19/0x20
[   32.035272]                                          [<ffffffff8140e4d8>] bus_add_driver+0x1b8/0x280
[   32.035278]                                          [<ffffffff8140fa98>] driver_register+0x78/0x140
[   32.035284]                                          [<ffffffff81388941>] __pci_register_driver+0x61/0xe0
[   32.035290]                                          [<ffffffffa009c21f>] drm_pci_init+0xcf/0xe0 [drm]
[   32.035303]                                          [<ffffffffa0093763>] drm_init+0x53/0x70 [drm]
[   32.035314]                                          [<ffffffffa03180c4>] 0xffffffffa03180c4
[   32.035319]                                          [<ffffffff810001de>] do_one_initcall+0x3e/0x1a0
[   32.035325]                                          [<ffffffff810b7e12>] sys_init_module+0xf2/0x250
[   32.035331]                                          [<ffffffff81003192>] system_call_fastpath+0x16/0x1b
[   32.035337]     IN-SOFTIRQ-W at:
[   32.035341]                                          [<ffffffff810a74c8>] __lock_acquire+0xaf8/0x1d10
[   32.035347]                                          [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.035353]                                          [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.035359]                                          [<ffffffffa01bb4e3>] iwl_irq_tasklet+0x23/0x1aa0 [iwlagn]
[   32.035368]                                          [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.035374]                                          [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.035380]                                          [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.035385]                                          [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.035390]                                          [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.035396]                                          [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.035401]                                          [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.035407]                                          [<ffffffff8136a0a8>] __udelay+0x28/0x30
[   32.035412]                                          [<ffffffffa00180c1>] sclhi+0x71/0x90 [i2c_algo_bit]
[   32.035419]                                          [<ffffffffa0018548>] bit_xfer+0x198/0x4c0 [i2c_algo_bit]
[   32.035425]                                          [<ffffffff814d31c9>] i2c_transfer+0xc9/0x110
[   32.035431]                                          [<ffffffffa00a4cca>] drm_do_probe_ddc_edid+0x4a/0x60 [drm]
[   32.035444]                                          [<ffffffffa00a4f0c>] drm_get_edid+0x8c/0x240 [drm]
[   32.035456]                                          [<ffffffffa0267fad>] radeon_modeset_init+0x4cd/0x8f0 [radeon]
[   32.035476]                                          [<ffffffffa02414c8>] radeon_driver_load_kms+0x108/0x180 [radeon]
[   32.035492]                                          [<ffffffffa009c032>] drm_get_pci_dev+0x192/0x2b0 [drm]
[   32.035505]                                          [<ffffffffa02d5a91>] radeon_pci_probe+0xaa/0x619 [radeon]
[   32.035523]                                          [<ffffffff8138753a>] local_pci_probe+0x5a/0xd0
[   32.035529]                                          [<ffffffff813886e9>] pci_device_probe+0x109/0x110
[   32.035535]                                          [<ffffffff8140f5c6>] driver_probe_device+0x96/0x1c0
[   32.035541]                                          [<ffffffff8140f78b>] __driver_attach+0x9b/0xa0
[   32.035547]                                          [<ffffffff8140ec68>] bus_for_each_dev+0x68/0x90
[   32.035553]                                          [<ffffffff8140f3e9>] driver_attach+0x19/0x20
[   32.035558]                                          [<ffffffff8140e4d8>] bus_add_driver+0x1b8/0x280
[   32.035564]                                          [<ffffffff8140fa98>] driver_register+0x78/0x140
[   32.035570]                                          [<ffffffff81388941>] __pci_register_driver+0x61/0xe0
[   32.035576]                                          [<ffffffffa009c21f>] drm_pci_init+0xcf/0xe0 [drm]
[   32.035589]                                          [<ffffffffa0093763>] drm_init+0x53/0x70 [drm]
[   32.035600]                                          [<ffffffffa03180c4>] 0xffffffffa03180c4
[   32.035605]                                          [<ffffffff810001de>] do_one_initcall+0x3e/0x1a0
[   32.035611]                                          [<ffffffff810b7e12>] sys_init_module+0xf2/0x250
[   32.035617]                                          [<ffffffff81003192>] system_call_fastpath+0x16/0x1b
[   32.035624]     INITIAL USE at:
[   32.035627]                                         [<ffffffff810a6e3a>] __lock_acquire+0x46a/0x1d10
[   32.035633]                                         [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.035639]                                         [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.035645]                                         [<ffffffffa01b37f9>] iwl_pci_probe+0xac9/0x1db0 [iwlagn]
[   32.035654]                                         [<ffffffff8138753a>] local_pci_probe+0x5a/0xd0
[   32.035660]                                         [<ffffffff813886e9>] pci_device_probe+0x109/0x110
[   32.035665]                                         [<ffffffff8140f5c6>] driver_probe_device+0x96/0x1c0
[   32.035671]                                         [<ffffffff8140f78b>] __driver_attach+0x9b/0xa0
[   32.035677]                                         [<ffffffff8140ec68>] bus_for_each_dev+0x68/0x90
[   32.035683]                                         [<ffffffff8140f3e9>] driver_attach+0x19/0x20
[   32.035689]                                         [<ffffffff8140e4d8>] bus_add_driver+0x1b8/0x280
[   32.035695]                                         [<ffffffff8140fa98>] driver_register+0x78/0x140
[   32.035700]                                         [<ffffffff81388941>] __pci_register_driver+0x61/0xe0
[   32.035706]                                         [<ffffffffa012b05c>] arc4_set_key+0x5c/0x90 [arc4]
[   32.035712]                                         [<ffffffff810001de>] do_one_initcall+0x3e/0x1a0
[   32.035718]                                         [<ffffffff810b7e12>] sys_init_module+0xf2/0x250
[   32.035724]                                         [<ffffffff81003192>] system_call_fastpath+0x16/0x1b
[   32.035730]   }
[   32.035732]   ... key      at: [<ffffffffa021b25a>] __key.56621+0x0/0xfffffffffffecda6 [iwlagn]
[   32.035741]   ... acquired at:
[   32.035743]    [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.035748]    [<ffffffff816d317b>] _raw_spin_lock+0x3b/0x70
[   32.035754]    [<ffffffffa01e43d9>] iwlagn_tx_skb+0x199/0x1570 [iwlagn]
[   32.035763]    [<ffffffffa01b7845>] iwlagn_mac_tx+0x125/0x1c0 [iwlagn]
[   32.035771]    [<ffffffffa005c767>] __ieee80211_tx+0x147/0x230 [mac80211]
[   32.035784]    [<ffffffffa005def6>] ieee80211_tx+0x106/0x300 [mac80211]
[   32.035796]    [<ffffffffa005e1d2>] ieee80211_xmit+0xe2/0x2e0 [mac80211]
[   32.035807]    [<ffffffffa005e41f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]
[   32.035820]    [<ffffffffa0062136>] ieee80211_send_auth+0x176/0x1f0 [mac80211]
[   32.035832]    [<ffffffffa004f6e3>] ieee80211_work_work+0xac3/0x1570 [mac80211]
[   32.035843]    [<ffffffff810888d8>] process_one_work+0x1c8/0x6b0
[   32.035849]    [<ffffffff810891bd>] worker_thread+0x15d/0x3c0
[   32.035854]    [<ffffffff8108d456>] kthread+0xb6/0xc0
[   32.035859]    [<ffffffff81004024>] kernel_thread_helper+0x4/0x10
[   32.035864] 
[   32.035866] -> (&(&priv->sta_lock)->rlock){..-...} ops: 37 {
[   32.035874]    IN-SOFTIRQ-W at:
[   32.035877]                                        [<ffffffff810a74c8>] __lock_acquire+0xaf8/0x1d10
[   32.035883]                                        [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.035889]                                        [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.035895]                                        [<ffffffffa01f4a3c>] iwlagn_rx_reply_tx+0x14c/0xc20 [iwlagn]
[   32.035905]                                        [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.035915]                                        [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.035923]                                        [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.035929]                                        [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.035935]                                        [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.035940]                                        [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.035945]                                        [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.035951]                                        [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.035956]                                        [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.035962]                                        [<ffffffff81371b0f>] __debug_check_no_obj_freed+0x16f/0x200
[   32.035968]                                        [<ffffffff81371bb5>] debug_check_no_obj_freed+0x15/0x20
[   32.035973]                                        [<ffffffff81111f44>] free_pages_prepare+0x114/0x230
[   32.035980]                                        [<ffffffff81112282>] free_hot_cold_page+0x42/0x220
[   32.035986]                                        [<ffffffff81112495>] __free_pages+0x35/0x40
[   32.035991]                                        [<ffffffff811317f7>] __pte_alloc+0x127/0x1c0
[   32.035997]                                        [<ffffffff811319d6>] handle_mm_fault+0x146/0x300
[   32.036003]                                        [<ffffffff81033551>] do_page_fault+0x181/0x510
[   32.036008]                                        [<ffffffff816d4915>] page_fault+0x25/0x30
[   32.036014]    INITIAL USE at:
[   32.036018]                                       [<ffffffff810a6e3a>] __lock_acquire+0x46a/0x1d10
[   32.036024]                                       [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036030]                                       [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036036]                                       [<ffffffffa01fc361>] iwlagn_alloc_bcast_station+0x31/0x120 [iwlagn]
[   32.036047]                                       [<ffffffffa01b0188>] __iwl_up+0x8e8/0x14a0 [iwlagn]
[   32.036055]                                       [<ffffffffa01b7977>] iwlagn_mac_start+0x97/0x2b0 [iwlagn]
[   32.036064]                                       [<ffffffffa0051d34>] ieee80211_do_open+0x354/0x6b0 [mac80211]
[   32.036077]                                       [<ffffffffa00520eb>] ieee80211_open+0x5b/0x80 [mac80211]
[   32.036089]                                       [<ffffffff81572797>] __dev_open+0xb7/0x100
[   32.036096]                                       [<ffffffff8156e8bc>] __dev_change_flags+0x9c/0x180
[   32.036102]                                       [<ffffffff81572693>] dev_change_flags+0x23/0x70
[   32.036108]                                       [<ffffffff81580ca2>] do_setlink+0x1f2/0x8c0
[   32.036113]                                       [<ffffffff81581462>] rtnl_setlink+0xf2/0x140
[   32.036119]                                       [<ffffffff81581d57>] rtnetlink_rcv_msg+0x177/0x2a0
[   32.036125]                                       [<ffffffff81598d21>] netlink_rcv_skb+0xa1/0xd0
[   32.036131]                                       [<ffffffff81581bd0>] rtnetlink_rcv+0x20/0x30
[   32.036137]                                       [<ffffffff8159896a>] netlink_unicast+0x2ba/0x300
[   32.036142]                                       [<ffffffff81599344>] netlink_sendmsg+0x274/0x3f0
[   32.036148]                                       [<ffffffff81559824>] sock_sendmsg+0xe4/0x110
[   32.036154]                                       [<ffffffff8155a863>] sys_sendmsg+0x253/0x3b0
[   32.036159]                                       [<ffffffff81003192>] system_call_fastpath+0x16/0x1b
[   32.036165]  }
[   32.036167]  ... key      at: [<ffffffffa021b282>] __key.56503+0x0/0xfffffffffffecd7e [iwlagn]
[   32.036176]  ... acquired at:
[   32.036178]    [<ffffffff810a52b0>] check_irq_usage+0x60/0xf0
[   32.036184]    [<ffffffff810a7b53>] __lock_acquire+0x1183/0x1d10
[   32.036189]    [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036194]    [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036200]    [<ffffffff81562a46>] skb_queue_tail+0x26/0x60
[   32.036204]    [<ffffffffa00413d8>] ieee80211_tx_status_irqsafe+0x38/0xa0 [mac80211]
[   32.036214]    [<ffffffffa01d9278>] iwlagn_tx_queue_reclaim+0xc8/0x240 [iwlagn]
[   32.036223]    [<ffffffffa01f525e>] iwlagn_rx_reply_tx+0x96e/0xc20 [iwlagn]
[   32.036233]    [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.036242]    [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.036250]    [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.036255]    [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.036261]    [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.036265]    [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.036270]    [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.036275]    [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.036279]    [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.036284]    [<ffffffff81371b0f>] __debug_check_no_obj_freed+0x16f/0x200
[   32.036289]    [<ffffffff81371bb5>] debug_check_no_obj_freed+0x15/0x20
[   32.036294]    [<ffffffff81111f44>] free_pages_prepare+0x114/0x230
[   32.036300]    [<ffffffff81112282>] free_hot_cold_page+0x42/0x220
[   32.036305]    [<ffffffff81112495>] __free_pages+0x35/0x40
[   32.036310]    [<ffffffff811317f7>] __pte_alloc+0x127/0x1c0
[   32.036315]    [<ffffffff811319d6>] handle_mm_fault+0x146/0x300
[   32.036320]    [<ffffffff81033551>] do_page_fault+0x181/0x510
[   32.036325]    [<ffffffff816d4915>] page_fault+0x25/0x30
[   32.036330] 
[   32.036332] 
[   32.036332] the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock:
[   32.036354] -> (&(&list->lock)->rlock#4){+.-...} ops: 2437 {
[   32.036363]    HARDIRQ-ON-W at:
[   32.036366]                                        [<ffffffff810a74ed>] __lock_acquire+0xb1d/0x1d10
[   32.036372]                                        [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036378]                                        [<ffffffff816d317b>] _raw_spin_lock+0x3b/0x70
[   32.036384]                                        [<ffffffffa0058686>] ieee80211_rx_handlers+0x36/0x1e80 [mac80211]
[   32.036397]                                        [<ffffffffa005a6e4>] ieee80211_prepare_and_rx_handle+0x214/0xa70 [mac80211]
[   32.036410]                                        [<ffffffffa005b3e7>] ieee80211_rx+0x3c7/0xbb0 [mac80211]
[   32.036422]                                        [<ffffffffa01eee68>] iwlagn_rx_reply_rx+0x428/0x670 [iwlagn]
[   32.036433]                                        [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.036442]                                        [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.036451]                                        [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.036457]                                        [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.036462]                                        [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.036468]                                        [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.036473]                                        [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.036479]                                        [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.036484]                                        [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.036490]    IN-SOFTIRQ-W at:
[   32.036493]                                        [<ffffffff810a74c8>] __lock_acquire+0xaf8/0x1d10
[   32.036499]                                        [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036505]                                        [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036511]                                        [<ffffffff81562a46>] skb_queue_tail+0x26/0x60
[   32.036516]                                        [<ffffffffa005a6dc>] ieee80211_prepare_and_rx_handle+0x20c/0xa70 [mac80211]
[   32.036529]                                        [<ffffffffa005b3e7>] ieee80211_rx+0x3c7/0xbb0 [mac80211]
[   32.036542]                                        [<ffffffffa01eee68>] iwlagn_rx_reply_rx+0x428/0x670 [iwlagn]
[   32.036552]                                        [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.036561]                                        [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.036570]                                        [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.036576]                                        [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.036582]                                        [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.036587]                                        [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.036593]                                        [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.036598]                                        [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.036603]                                        [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.036609]    INITIAL USE at:
[   32.036613]                                       [<ffffffff810a6e3a>] __lock_acquire+0x46a/0x1d10
[   32.036619]                                       [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036625]                                       [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036631]                                       [<ffffffff81562a46>] skb_queue_tail+0x26/0x60
[   32.036636]                                       [<ffffffffa005a6dc>] ieee80211_prepare_and_rx_handle+0x20c/0xa70 [mac80211]
[   32.036649]                                       [<ffffffffa005b3e7>] ieee80211_rx+0x3c7/0xbb0 [mac80211]
[   32.036661]                                       [<ffffffffa01eee68>] iwlagn_rx_reply_rx+0x428/0x670 [iwlagn]
[   32.036672]                                       [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.036681]                                       [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.036690]                                       [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.036696]                                       [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.036702]                                       [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.036707]                                       [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.036712]                                       [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.036718]                                       [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.036723]                                       [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.036729]  }
[   32.036731]  ... key      at: [<ffffffffa00706b2>] __key.26244+0x0/0xffffffffffffb94e [mac80211]
[   32.036741]  ... acquired at:
[   32.036743]    [<ffffffff810a52b0>] check_irq_usage+0x60/0xf0
[   32.036748]    [<ffffffff810a7b53>] __lock_acquire+0x1183/0x1d10
[   32.036754]    [<ffffffff810a87a6>] lock_acquire+0xc6/0x280
[   32.036759]    [<ffffffff816d32eb>] _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036764]    [<ffffffff81562a46>] skb_queue_tail+0x26/0x60
[   32.036769]    [<ffffffffa00413d8>] ieee80211_tx_status_irqsafe+0x38/0xa0 [mac80211]
[   32.036778]    [<ffffffffa01d9278>] iwlagn_tx_queue_reclaim+0xc8/0x240 [iwlagn]
[   32.036788]    [<ffffffffa01f525e>] iwlagn_rx_reply_tx+0x96e/0xc20 [iwlagn]
[   32.036798]    [<ffffffffa01b9250>] iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.036806]    [<ffffffffa01bb9e5>] iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.036815]    [<ffffffff8106e759>] tasklet_action+0x159/0x230
[   32.036820]    [<ffffffff8106f915>] __do_softirq+0xf5/0x420
[   32.036825]    [<ffffffff8100411c>] call_softirq+0x1c/0x30
[   32.036829]    [<ffffffff81006775>] do_softirq+0x85/0xf0
[   32.036834]    [<ffffffff8106f605>] irq_exit+0xa5/0xb0
[   32.036839]    [<ffffffff810058e1>] do_IRQ+0x61/0xd0
[   32.036844]    [<ffffffff816d4613>] ret_from_intr+0x0/0x1a
[   32.036849]    [<ffffffff81371b0f>] __debug_check_no_obj_freed+0x16f/0x200
[   32.036854]    [<ffffffff81371bb5>] debug_check_no_obj_freed+0x15/0x20
[   32.036859]    [<ffffffff81111f44>] free_pages_prepare+0x114/0x230
[   32.036864]    [<ffffffff81112282>] free_hot_cold_page+0x42/0x220
[   32.036869]    [<ffffffff81112495>] __free_pages+0x35/0x40
[   32.036875]    [<ffffffff811317f7>] __pte_alloc+0x127/0x1c0
[   32.036880]    [<ffffffff811319d6>] handle_mm_fault+0x146/0x300
[   32.036885]    [<ffffffff81033551>] do_page_fault+0x181/0x510
[   32.036889]    [<ffffffff816d4915>] page_fault+0x25/0x30
[   32.036895] 
[   32.036896] 
[   32.036897] stack backtrace:
[   32.036901] Pid: 490, comm: dbus-daemon Not tainted 2.6.38-rc1-340cd+ #3
[   32.036904] Call Trace:
[   32.036907]  <IRQ>  [<ffffffff810a51a8>] ? check_usage+0x4c8/0x570
[   32.036919]  [<ffffffff810a52b0>] ? check_irq_usage+0x60/0xf0
[   32.036924]  [<ffffffff810a7b53>] ? __lock_acquire+0x1183/0x1d10
[   32.036929]  [<ffffffff8100bdfc>] ? native_sched_clock+0x2c/0x80
[   32.036936]  [<ffffffff810a87a6>] ? lock_acquire+0xc6/0x280
[   32.036940]  [<ffffffff81562a46>] ? skb_queue_tail+0x26/0x60
[   32.036945]  [<ffffffff8100bdfc>] ? native_sched_clock+0x2c/0x80
[   32.036950]  [<ffffffff816d32eb>] ? _raw_spin_lock_irqsave+0x6b/0xb0
[   32.036955]  [<ffffffff81562a46>] ? skb_queue_tail+0x26/0x60
[   32.036959]  [<ffffffff81562a46>] ? skb_queue_tail+0x26/0x60
[   32.036968]  [<ffffffffa00413d8>] ? ieee80211_tx_status_irqsafe+0x38/0xa0 [mac80211]
[   32.036978]  [<ffffffffa01d9278>] ? iwlagn_tx_queue_reclaim+0xc8/0x240 [iwlagn]
[   32.036987]  [<ffffffffa01d930e>] ? iwlagn_tx_queue_reclaim+0x15e/0x240 [iwlagn]
[   32.036996]  [<ffffffffa01f4a3c>] ? iwlagn_rx_reply_tx+0x14c/0xc20 [iwlagn]
[   32.037006]  [<ffffffffa01f525e>] ? iwlagn_rx_reply_tx+0x96e/0xc20 [iwlagn]
[   32.037012]  [<ffffffff8137fb69>] ? debug_dma_unmap_page+0x59/0x60
[   32.037021]  [<ffffffffa01b9250>] ? iwl_rx_handle+0x160/0x710 [iwlagn]
[   32.037027]  [<ffffffff810a41f7>] ? trace_hardirqs_on_caller+0x67/0x1b0
[   32.037035]  [<ffffffffa01bb9e5>] ? iwl_irq_tasklet+0x525/0x1aa0 [iwlagn]
[   32.037041]  [<ffffffff810a3f97>] ? mark_held_locks+0x67/0x90
[   32.037046]  [<ffffffff8106e665>] ? tasklet_action+0x65/0x230
[   32.037051]  [<ffffffff8106e759>] ? tasklet_action+0x159/0x230
[   32.037056]  [<ffffffff8106f915>] ? __do_softirq+0xf5/0x420
[   32.037061]  [<ffffffff8100411c>] ? call_softirq+0x1c/0x30
[   32.037065]  [<ffffffff81006775>] ? do_softirq+0x85/0xf0
[   32.037070]  [<ffffffff8106f605>] ? irq_exit+0xa5/0xb0
[   32.037075]  [<ffffffff810058e1>] ? do_IRQ+0x61/0xd0
[   32.037080]  [<ffffffff816d4613>] ? ret_from_intr+0x0/0x1a
[   32.037083]  <EOI>  [<ffffffff816d3f74>] ? _raw_spin_unlock_irqrestore+0x84/0xa0
[   32.037092]  [<ffffffff81371b0f>] ? __debug_check_no_obj_freed+0x16f/0x200
[   32.037098]  [<ffffffff810a42ed>] ? trace_hardirqs_on_caller+0x15d/0x1b0
[   32.037103]  [<ffffffff810a434d>] ? trace_hardirqs_on+0xd/0x10
[   32.037108]  [<ffffffff81371bb5>] ? debug_check_no_obj_freed+0x15/0x20
[   32.037113]  [<ffffffff81111f44>] ? free_pages_prepare+0x114/0x230
[   32.037118]  [<ffffffff81112282>] ? free_hot_cold_page+0x42/0x220
[   32.037124]  [<ffffffff81055ce1>] ? get_parent_ip+0x11/0x50
[   32.037130]  [<ffffffff81112495>] ? __free_pages+0x35/0x40
[   32.037134]  [<ffffffff811317f7>] ? __pte_alloc+0x127/0x1c0
[   32.037139]  [<ffffffff811319d6>] ? handle_mm_fault+0x146/0x300
[   32.037144]  [<ffffffff81033551>] ? do_page_fault+0x181/0x510
[   32.037150]  [<ffffffff8116dfdf>] ? fget_light+0x1df/0x3c0
[   32.037156]  [<ffffffff816d2f28>] ? trace_hardirqs_off_thunk+0x3a/0x3c
[   32.037161]  [<ffffffff816d4915>] ? page_fault+0x25/0x30


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux