Message ID | 1471608887214.2763@qti.qualcomm.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kalle Valo |
Headers | show |
"Manoharan, Rajkumar" <rmanohar@qti.qualcomm.com> writes: > [...] >>> >>> [ 277.244673] ------------[ cut here ]------------ >>> [ 277.244685] WARNING: CPU: 2 PID: 2162 at lib/debugobjects.c:263 debug_print_object+0x85/0xa0 >>> [ 277.244707] ODEBUG: free active (active state 0) object type: timer_list hint: ath10k_htt_rx_ring_refill_retry+0x0/0x10 [ath10k_core] >> >> I bisected this to: >> >> [v2] ath10k: implement NAPI support >> >> https://patchwork.kernel.org/patch/9240975/ >> >> I'll reply to that patch for more info. >> > Oops.. my bad.. Sorry for the regression..Good that it is captured at > earliest. Thanks Kalle for reporting the issue. > > It seems during deinit, driver is not waiting for NAPI completion. > What debug options should be enabled to see this warning? I usually test with all sane[1] kernel debug infrastructure enabled. I have attached a kernel config I use with my x86 32-bit laptop. [1] sane == not too spammy and still keeps the laptop barely usable > If possible, could you please try below change? > > diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c > index 33380fba5948..29fc9052e51a 100644 > --- a/drivers/net/wireless/ath/ath10k/pci.c > +++ b/drivers/net/wireless/ath/ath10k/pci.c > @@ -1759,6 +1759,7 @@ void ath10k_pci_ce_deinit(struct ath10k *ar) > > void ath10k_pci_flush(struct ath10k *ar) > { > + napi_synchronize(&ar->napi); > ath10k_pci_rx_retry_sync(ar); > ath10k_pci_buffer_cleanup(ar); > } Sorry, didn't help: [ 71.802277] NOHZ: local_softirq_pending 08 [ 71.821880] ------------[ cut here ]------------ [ 71.821891] WARNING: CPU: 2 PID: 1912 at lib/debugobjects.c:263 debug_print_object+0x85/0xa0 [ 71.821910] ODEBUG: free active (active state 0) object type: timer_list hint: ath10k_htt_rx_ring_refill_retry+0x0/0x10 [ath10k_core] [ 71.821914] Modules linked in: ath10k_pci(E-) ath10k_core(E) ath(E) mac80211(E) cfg80211(E) arc4 snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm coretemp snd_seq_midi btusb btintel snd_rawmidi joydev btbcm btrtl in [ 71.821955] CPU: 2 PID: 1912 Comm: rmmod Tainted: G B W E 4.8.0-rc2-wt-ath+ #1419 [ 71.821956] Hardware name: Hewlett-Packard HP ProBook 6540b/1722, BIOS 68CDD Ver. F.04 01/27/2010 [ 71.821957] 00000086 00000086 f0769c74 d64272f2 d6b27b62 f0769cbc f0769ca8 d6084305 [ 71.821963] d6b28a8c f0769cd8 00000778 d6b27b62 00000107 d64453e5 d64453e5 00000107 [ 71.821968] f07a0f78 d6c284a0 d6b03e7a f0769cc4 d60843cb 00000009 00000000 f0769cbc [ 71.821973] Call Trace: [ 71.821977] [<d64272f2>] dump_stack+0x76/0xb4 [ 71.821982] [<d6084305>] __warn+0xe5/0x100 [ 71.821984] [<d64453e5>] ? debug_print_object+0x85/0xa0 [ 71.821986] [<d64453e5>] ? debug_print_object+0x85/0xa0 [ 71.821988] [<d60843cb>] warn_slowpath_fmt+0x3b/0x40 [ 71.821990] [<d64453e5>] debug_print_object+0x85/0xa0 [ 71.822000] [<f8e04fd0>] ? ath10k_htt_rx_msdu_buff_replenish+0x90/0x90 [ath10k_core] [ 71.822002] [<d644572f>] __debug_check_no_obj_freed+0x14f/0x180 [ 71.822004] [<d6446075>] debug_check_no_obj_freed+0x15/0x20 [ 71.822009] [<d61c13dc>] __free_pages_ok+0x16c/0x460 [ 71.822013] [<d6070b90>] ? lookup_address+0x20/0x30 [ 71.822015] [<d61c3487>] __free_pages+0x27/0x40 [ 71.822019] [<d62202fa>] kfree+0x2ea/0x320 [ 71.822022] [<d6429cc5>] ? kobject_put+0x25/0x60 [ 71.822026] [<d60e015b>] ? trace_hardirqs_on+0xb/0x10 [ 71.822054] [<f8ef6d1c>] ? cfg80211_dev_free+0x8c/0xa0 [cfg80211] [ 71.822072] [<f8ef6d1c>] cfg80211_dev_free+0x8c/0xa0 [cfg80211] [ 71.822090] [<f8ef7932>] wiphy_dev_release+0x12/0x20 [cfg80211] [ 71.822094] [<d6584971>] device_release+0x31/0xa0 [ 71.822131] [<f96fbdd7>] ? ieee80211_free_led_names+0x37/0x40 [mac80211] [ 71.822133] [<d6220155>] ? kfree+0x145/0x320 [ 71.822135] [<d6429dfb>] kobject_cleanup+0x5b/0x1a0 [ 71.822165] [<f96fbdd7>] ? ieee80211_free_led_names+0x37/0x40 [mac80211] [ 71.822167] [<d6429cc5>] kobject_put+0x25/0x60 [ 71.822196] [<f96fbdd7>] ? ieee80211_free_led_names+0x37/0x40 [mac80211] [ 71.822226] [<f96fbdd7>] ? ieee80211_free_led_names+0x37/0x40 [mac80211] [ 71.822227] [<d6584644>] put_device+0x14/0x20 [ 71.822246] [<f8ef42c2>] wiphy_free+0x12/0x20 [cfg80211] [ 71.822268] [<f9682067>] ieee80211_free_hw+0x67/0x70 [mac80211] [ 71.822277] [<f8dfac8a>] ath10k_mac_destroy+0x1a/0x30 [ath10k_core] [ 71.822287] [<f8dffe2c>] ath10k_core_destroy+0x4c/0x50 [ath10k_core] [ 71.822290] [<f8d1c969>] ath10k_pci_remove+0x79/0xa0 [ath10k_pci] [ 71.822293] [<d6484018>] pci_device_remove+0x38/0xb0 [ 71.822295] [<d658954b>] __device_release_driver+0x7b/0x110 [ 71.822297] [<d65897e7>] driver_detach+0x97/0xa0 [ 71.822298] [<d658863b>] bus_remove_driver+0x4b/0xb0 [ 71.822300] [<d658a3da>] driver_unregister+0x2a/0x60 [ 71.822302] [<d6483038>] pci_unregister_driver+0x18/0x70 [ 71.822305] [<f8d1dd7e>] ath10k_pci_exit+0xd/0x28f [ath10k_pci] [ 71.822307] [<d6129b14>] SyS_delete_module+0xf4/0x180
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c index 33380fba5948..29fc9052e51a 100644 --- a/drivers/net/wireless/ath/ath10k/pci.c +++ b/drivers/net/wireless/ath/ath10k/pci.c @@ -1759,6 +1759,7 @@ void ath10k_pci_ce_deinit(struct ath10k *ar) void ath10k_pci_flush(struct ath10k *ar) { + napi_synchronize(&ar->napi); ath10k_pci_rx_retry_sync(ar); ath10k_pci_buffer_cleanup(ar); }