[BeagleBone] bug cheap wifi module ATH9k

hi,

I working on the “cheap wifi tp-link” module ATH9k… and i have a bug.
Have you a patch for this bug.

init message:
[ 116.068066] =================================
[ 116.072657] [ INFO: inconsistent lock state ]
[ 116.077256] 3.2.0-12622-gc9c5a65-dirty #130
[ 116.081663] ---------------------------------
[ 116.086257] inconsistent {SOFTIRQ-ON-W} → {IN-SOFTIRQ-W} usage.
[ 116.092597] ksoftirqd/0/3 [HC0[0]:SC1[1]:HE0:SE0] takes:
[ 116.098198] (&(&priv->rx.rxbuflock)->rlock){+.?..}, at: [] ath9k_rx_tasklet+0x40/0x5c0 [ath9k_htc]
[ 116.108828] {SOFTIRQ-ON-W} state was registered at:
[ 116.113972] [] __lock_acquire+0x944/0x19ac
[ 116.119425] [] lock_acquire+0x60/0x74
[ 116.124397] [] _raw_spin_lock+0x34/0x44
[ 116.129556] [] ath9k_htc_rxep+0x1c/0xb8 [ath9k_htc]
[ 116.135826] [] ath9k_htc_rx_msg+0xc4/0x200 [ath9k_htc]
[ 116.142364] [] ath9k_hif_usb_rx_cb+0x348/0x374 [ath9k_htc]
[ 116.149267] [] usb_hcd_giveback_urb+0x4c/0xbc
[ 116.154982] [] musb_gb_work+0x14/0x30
[ 116.159968] [] process_one_work+0x184/0x464
[ 116.165498] [] worker_thread+0x138/0x2e0
[ 116.170743] [] kthread+0x80/0x88
[ 116.175264] [] kernel_thread_exit+0x0/0x8
[ 116.180620] irq event stamp: 11654
[ 116.184200] hardirqs last enabled at (11653): [] tasklet_action+0x4c/0x128
[ 116.192486] hardirqs last disabled at (11654): [] _raw_spin_lock_irqsave+0x1c/0x58
[ 116.201398] softirqs last enabled at (11643): [] run_ksoftirqd+0xd0/0x144
[ 116.209575] softirqs last disabled at (11650): [] run_ksoftirqd+0xd0/0x144
[ 116.217750]
[ 116.217754] other info that might help us debug this:
[ 116.224637] Possible unsafe locking scenario:
[ 116.224643]
[ 116.230883] CPU0
[ 116.233457] ----
[ 116.236032] lock(&(&priv->rx.rxbuflock)->rlock);
[ 116.241098]
[ 116.243855] lock(&(&priv->rx.rxbuflock)->rlock);
[ 116.249102]
[ 116.249107] *** DEADLOCK ***
[ 116.249112]
[ 116.255356] no locks held by ksoftirqd/0/3.
[ 116.259764]
[ 116.259768] stack backtrace:
[ 116.264404] [] (unwind_backtrace+0x0/0xf8) from [] (print_usage_bug+0x240/0x2a8)
[ 116.274051] [] (print_usage_bug+0x240/0x2a8) from [] (mark_lock+0x250/0x658)
[ 116.283330] [] (mark_lock+0x250/0x658) from [<c0077a88

and the bug:
[ 227.595199] BUG: spinlock lockup on CPU#0, kworker/u:2/504
[ 227.601014] lock: ced15854, .magic: dead4ead, .owner: kworker/u:2/504, .owner_cpu: 0
[ 227.609327] [] (unwind_backtrace+0x0/0xf8) from [] (do_raw_spin_lock+0x118/0x164)
[ 227.619075] [] (do_raw_spin_lock+0x118/0x164) from [] (_raw_spin_lock_irqsave+0x4c/0x58)
[ 227.629498] [] (_raw_spin_lock_irqsave+0x4c/0x58) from [] (hif_usb_send+0x50/0x2e4 [ath9k_htc])
[ 227.640542] [] (hif_usb_send+0x50/0x2e4 [ath9k_htc]) from [] (htc_issue_send.clone.2+0x60/0x64 [ath9k_htc])
[ 227.652689] [] (htc_issue_send.clone.2+0x60/0x64 [ath9k_htc]) from [] (ath9k_htc_swba+0x2e0/0x31c [ath9k_htc])
[ 227.665107] [] (ath9k_htc_swba+0x2e0/0x31c [ath9k_htc]) from [] (ath9k_wmi_event_tasklet+0x50/0x13c [ath9k_htc])
[ 227.677706] [] (ath9k_wmi_event_tasklet+0x50/0x13c [ath9k_htc]) from [] (tasklet_action+0x7c/0x128)
[ 227.689094] [] (tasklet_action+0x7c/0x128) from [] (__do_softirq+0xd0/0x188)
[ 227.698369] [] (__do_softirq+0xd0/0x188) from [] (irq_exit+0x94/0x9c)
[ 227.707018] [] (irq_exit+0x94/0x9c) from [] (handle_IRQ+0x50/0xb0)
[ 227.715382] [] (handle_IRQ+0x50/0xb0) from [] (omap3_intc_handle_irq+0x48/0x4c)
[ 227.724934] [] (omap3_intc_handle_irq+0x48/0x4c) from [] (__irq_svc+0x44/0x60)
[ 227.734383] Exception stack(0xcfa6bea0 to 0xcfa6bee8)
[ 227.739719] bea0: ced15844 ced1584c cfaf957c ced1584c cfaf9540 cfaf954c ced15800 00000000
[ 227.748353] bec0: 00000001 cfa6a000 ced15854 00000002 cfa6a000 cfa6bee8 bf076ab8 bf076ad0
[ 227.756977] bee0: 60000013 ffffffff
[ 227.760679] [] (__irq_svc+0x44/0x60) from [] (hif_usb_tx_cb+0xd8/0x1b0 [ath9k_htc])
[ 227.770617] [] (hif_usb_tx_cb+0xd8/0x1b0 [ath9k_htc]) from [] (usb_hcd_giveback_urb+0x4c/0xbc)
[ 227.781559] [] (usb_hcd_giveback_urb+0x4c/0xbc) from [] (musb_gb_work+0x14/0x30)
[ 227.791209] [] (musb_gb_work+0x14/0x30) from [] (process_one_work+0x184/0x464)
[ 227.800669] [] (process_one_work+0x184/0x464) from [] (worker_thread+0x138/0x2e0)
[ 227.810407] [] (worker_thread+0x138/0x2e0) from [] (kthread+0x80/0x88)
[ 227.819137] [] (kthread+0x80/0x88) from [] (kernel_thread_exit+0x0/0x8)

thank you

I would try using a more recent kernel.

https://github.com/beagleboard/kernel/tree/3.8