BUG related to NAPI and ath10k in 4.9 + hacks kernel.

Ben Greear greearb at candelatech.com
Mon May 15 11:26:11 PDT 2017


This is from a test system running my hacked 4.9 kernel, with 9888 ath10k
NIC which often fails during startup.  The firmware did fail to boot this time,
and maybe it left things in a weird state.  Then, the whole OS crashed with BUG.


------------[ cut here ]------------
kernel BUG at /home/greearb/git/linux-4.9.dev.y/include/linux/netdevice.h:515!
invalid opcode: 0000 [#1] PREEMPT SMP
Modules linked in: nf_conntrack_netlink nf_conntrack nfnetlink nf_defrag_ipv4 bridge ath10k_pci ath10k_core 8021q garp mrp stp llc bnep bluetooth fuse macv]
CPU: 1 PID: 3651 Comm: wpa_supplicant Not tainted 4.9.27+ #35
Hardware name: To be filled by O.E.M. To be filled by O.E.M./ChiefRiver, BIOS 4.6.5 06/07/2013
task: ffff8802111f0000 task.stack: ffffc90001fb4000
RIP: 0010:[<ffffffffa1498d33>]  [<ffffffffa1498d33>] ath10k_pci_hif_power_up+0x173/0x180 [ath10k_pci]
RSP: 0018:ffffc90001fb7c30  EFLAGS: 00010246
RAX: 0000000000000008 RBX: ffff880212bc2bc0 RCX: 0000000000082004
RDX: ffffc9000d282000 RSI: ffffc9000d282000 RDI: 000000000fd0a000
RBP: ffffc90001fb7c40 R08: 0000000000200000 R09: 0000000000000101
R10: 0000000000000d00 R11: 0000000000000003 R12: 0000000000082000
R13: ffff880212beaef8 R14: 0000000000000000 R15: ffff8802134c1118
FS:  00007f476575c800(0000) GS:ffff88021e240000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3da950b490 CR3: 0000000212b5a000 CR4: 00000000001406e0
Stack:
  ffff880212bc2bc0 ffff880212bc0700 ffffc90001fb7c68 ffffffffa1429281
  ffff8802134c0000 ffff880212bc0700 0000000000000000 ffffc90001fb7c90
  ffffffffa07cb818 ffff8802134c0000 ffff880212bc0700 0000000000000000
Call Trace:
  [<ffffffffa1429281>] ath10k_start+0x51/0x5c0 [ath10k_core]
  [<ffffffffa07cb818>] drv_start+0x38/0x140 [mac80211]
  [<ffffffffa07e2cc5>] ieee80211_do_open+0x2c5/0x990 [mac80211]
  [<ffffffffa07e33e0>] ieee80211_open+0x50/0x60 [mac80211]
  [<ffffffff817a9f2a>] __dev_open+0xaa/0x120
  [<ffffffff817aa208>] __dev_change_flags+0x98/0x160
  [<ffffffff817aa2f4>] dev_change_flags+0x24/0x60
  [<ffffffff8182388e>] devinet_ioctl+0x5ee/0x6c0
  [<ffffffff8182535b>] inet_ioctl+0x4b/0x70
  [<ffffffff81787430>] sock_do_ioctl+0x20/0x50
  [<ffffffff81787936>] sock_ioctl+0x1d6/0x2a0
  [<ffffffff8128d24b>] do_vfs_ioctl+0x8b/0x5b0
  [<ffffffff8178adbd>] ? __sys_recvmsg+0x3d/0x70
  [<ffffffff8128d7e4>] SyS_ioctl+0x74/0x80
  [<ffffffff8188a83b>] entry_SYSCALL_64_fastpath+0x1e/0xad
Code: ff ff ff 89 c2 48 89 df 48 c7 c6 10 d3 49 a1 e8 34 1d f9 ff 48 89 df e8 2c f9 ff ff 44 89 e0 c6 83 0e 74 02 00 01 5b 41 5c 5d c3 <0f> 0b 66 66 2e 0f
RIP  [<ffffffffa1498d33>] ath10k_pci_hif_power_up+0x173/0x180 [ath10k_pci]
  RSP <ffffc90001fb7c30>
---[ end trace b6dede286ed70e39 ]---


The BUG in question is this:

/**
  *      napi_enable - enable NAPI scheduling
  *      @n: NAPI context
  *
  * Resume NAPI from being scheduled on this context.
  * Must be paired with napi_disable.
  */
static inline void napi_enable(struct napi_struct *n)
{
         BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state));
         smp_mb__before_atomic();
         clear_bit(NAPI_STATE_SCHED, &n->state);
         clear_bit(NAPI_STATE_NPSVC, &n->state);
}


Any ideas what might be the cause of this?

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com




More information about the ath10k mailing list