Re: usb: musb: tx fifo flush warning

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

 



Hi John,

On Thu, Mar 03, 2016 at 03:38:10PM +0100, John Ogness wrote:
> Hi Bin,
> 
> Using next-20160302 I can very reliably hit this warning on an AM335x
> BeagleBone by playing a short audio file over USB-Audio:
> 
> $ aplay -Dplughw:1,0 -r 44100 -c 2 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav
> 
> $ aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 1: Audio [USB Audio], device 0: USB Audio [USB Audio]
>   Subdevices: 1/1
>   Subdevice #0: subdevice #0
> 
> The audio file is part of the alsa-utils package. The USB-Audio device
> is never disconnected. Simply playing the file triggers the warning. Any
> hints/suggestions how I should debug this?

In general, it seems this tx fifo flush error has been there for years,
it happens when tearing down an active endpoint in some unknown
conditions. But I haven't seen a such case in which musb stops working.

In this case, does musb still work or is audio playback broken after
the warning message?

Does the issue happen in any previous kernel? Trying to think if there
is any regression in next-20160302...

Regards,
-Bin.

> 
> Here is the dmesg output:
> 
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 0 at /linux/drivers/usb/musb/musb_host.c:139 musb_h_tx_flush_fifo+0xd4/0xf8 [musb_hdrc]
> musb-hdrc musb-hdrc.1.auto: Could not flush host TX10 fifo: csr: 2403
> Modules linked in: musb_am335x musb_dsps musb_hdrc snd_usb_audio snd_hwdep snd_usbmidi_lib snd_rawmidi
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.5.0-rc6-next-20160302 #75
> Hardware name: Generic AM33XX (Flattened Device Tree)
> Backtrace:
> [<c010b0ec>] (dump_backtrace) from [<c010b288>] (show_stack+0x18/0x1c)
>  r6:00000000 r5:00000000 r4:60010193 r3:00000000
> [<c010b270>] (show_stack) from [<c03c8198>] (dump_stack+0x94/0xb4)
> [<c03c8104>] (dump_stack) from [<c0135cd0>] (__warn+0xd8/0x104)
>  r6:bf050428 r5:00000000 r4:c0c01a98 r3:00000000
> [<c0135bf8>] (__warn) from [<c0135db4>] (warn_slowpath_fmt+0x40/0x48)
>  r10:ca08a010 r8:ca08ab80 r7:bf0510cc r6:d104cc10 r5:bf050ef0 r4:00002403
> [<c0135d78>] (warn_slowpath_fmt) from [<bf04713c>] (musb_h_tx_flush_fifo+0xd4/0xf8 [musb_hdrc])
>  r3:bf04f9ac r2:bf050460
> [<bf047068>] (musb_h_tx_flush_fifo [musb_hdrc]) from [<bf048570>] (musb_cleanup_urb+0xc8/0x144 [musb_hdrc])
>  r10:d104cc10 r9:bf0510cc r8:00000000 r7:00000000 r6:ca0896d4 r5:cf4d8f00
>  r4:ca08ab80
> [<bf0484a8>] (musb_cleanup_urb [musb_hdrc]) from [<bf0488ec>] (musb_urb_dequeue+0xf4/0x12c [musb_hdrc])
>  r10:00008200 r9:00000001 r8:a0010193 r7:00000000 r6:ca08a010 r5:ca080f80
>  r4:cf4d8f00
> [<bf0487f8>] (musb_urb_dequeue [musb_hdrc]) from [<c05c8620>] (unlink1+0x34/0x118)
>  r10:000013e8 r9:00002e6c r8:ca0873ec r7:ffffff98 r6:cf6ff000 r5:cf4d8f00
>  r4:cf4d8f00 r3:bf0487f8
> [<c05c85ec>] (unlink1) from [<c05c9f68>] (usb_hcd_unlink_urb+0x58/0x8c)
>  r8:ca0873ec r7:ffffff98 r6:a0010193 r5:cf545000 r4:cf4d8f00 r3:cf545000
> [<c05c9f10>] (usb_hcd_unlink_urb) from [<c05ca958>] (usb_unlink_urb+0x34/0x50)
>  r7:ca086000 r6:ca0873f0 r5:ca086000 r4:00000000
> [<c05ca924>] (usb_unlink_urb) from [<bf01aa14>] (deactivate_urbs+0xd4/0xf4 [snd_usb_audio])
> [<bf01a940>] (deactivate_urbs [snd_usb_audio]) from [<bf01bd40>] (snd_usb_endpoint_stop+0x38/0x70 [snd_usb_audio])
>  r10:5dc00000 r8:cf471000 r7:00000000 r6:00000000 r5:00000000 r4:ca086000
> [<bf01bd08>] (snd_usb_endpoint_stop [snd_usb_audio]) from [<bf024cc8>] (stop_endpoints+0x64/0x7c [snd_usb_audio])
>  r5:cf4f6674 r4:cf4f6610
> [<bf024c64>] (stop_endpoints [snd_usb_audio]) from [<bf024e30>] (snd_usb_substream_playback_trigger+0x9c/0xc0 [snd_usb_audio])
>  r6:00000001 r5:cf4f6200 r4:cf4f6610 r3:cf4fe000
> [<bf024d94>] (snd_usb_substream_playback_trigger [snd_usb_audio]) from [<c069ad4c>] (snd_pcm_do_stop+0x5c/0x60)
>  r4:c0876b34 r3:bf024d94
> [<c069acf0>] (snd_pcm_do_stop) from [<c069aa98>] (snd_pcm_action_single+0x40/0x80)
> [<c069aa58>] (snd_pcm_action_single) from [<c069e3c0>] (snd_pcm_drain_done+0x1c/0x24)
>  r7:cf4f6200 r6:00011940 r5:00005dc0 r4:00004650
> [<c069e3a4>] (snd_pcm_drain_done) from [<c06a1b0c>] (snd_pcm_update_state+0xd8/0x108)
> [<c06a1a34>] (snd_pcm_update_state) from [<c06a1cf8>] (snd_pcm_update_hw_ptr0+0x1bc/0x3d8)
>  r5:00011940 r4:cf4fe000
> [<c06a1b3c>] (snd_pcm_update_hw_ptr0) from [<c06a1f90>] (snd_pcm_period_elapsed+0x7c/0xbc)
>  r10:000003c0 r9:00000004 r8:ca086000 r7:00000120 r6:60010193 r5:cf4fe000
>  r4:cf4f6200
> [<c06a1f14>] (snd_pcm_period_elapsed) from [<bf0244b8>] (prepare_playback_urb+0x2ac/0x578 [snd_usb_audio])
>  r6:cf5ad900 r5:cf5ad940 r4:cf4f6610 r3:00000000
> [<bf02420c>] (prepare_playback_urb [snd_usb_audio]) from [<bf01acec>] (prepare_outbound_urb+0x4c/0x224 [snd_usb_audio])
>  r10:c0c82800 r9:00000000 r8:bf02420c r7:ca086000 r6:cf5ad900 r5:ca0861e8
>  r4:ca086000
> [<bf01aca0>] (prepare_outbound_urb [snd_usb_audio]) from [<bf01c1c8>] (snd_complete_urb+0x108/0x26c [snd_usb_audio])
>  r10:c0c82800 r9:00000000 r8:cf6ff0dc r7:00000000 r6:cf5ad900 r5:ca0861e8
>  r4:ca086000
> [<bf01c0c0>] (snd_complete_urb [snd_usb_audio]) from [<c05c8364>] (__usb_hcd_giveback_urb+0x74/0x110)
>  r7:00000000 r6:00000000 r5:60010113 r4:cf5ad900
> [<c05c82f0>] (__usb_hcd_giveback_urb) from [<c05c84a4>] (usb_giveback_urb_bh+0xa4/0xf4
>  r7:cf6ff0e0 r6:cf6ff0e4 r5:00000000 r4:c0c01e18
> [<c05c8400>] (usb_giveback_urb_bh) from [<c0139160>] (tasklet_hi_action+0x8c/0x138)
>  r8:c0b64348 r7:c0c02b14 r6:00000000 r5:cf6ff0f0 r4:cf6ff0ec
> [<c01390d4>] (tasklet_hi_action) from [<c01396f0>] (__do_softirq+0xec/0x240)
>  r10:c0c02080 r9:00000000 r8:00000100 r7:c0c02080 r6:00000000 r5:c0c02080
>  r4:00000000 r3:c01390d4
> [<c0139604>] (__do_softirq) from [<c0139af8>] (irq_exit+0xa8/0x120)
>  r10:cf004000 r9:c0c029e0 r8:00000044 r7:00000000 r6:00000000 r5:c0b6756c
>  r4:c0c02b14
> [<c0139a50>] (irq_exit) from [<c0176bd8>] (__handle_domain_irq+0x78/0xe4)
>  r4:c0c02b14 r3:c017a968
> [<c0176b60>] (__handle_domain_irq) from [<c0101448>] (omap_intc_handle_irq+0x38/0x98)
>  r10:c0c029d8 r8:c0b68638 r7:c0c01f4c r6:ffffffff r5:60010013 r4:c0cb00c0
> [<c0101410>] (omap_intc_handle_irq) from [<c07a9934>] (__irq_svc+0x54/0x70)
> Exception stack(0xc0c01f18 to 0xc0c01f60)
> 1f00:                                                       00000001 00000000
> 1f20: c0c01f78 c0119e00 00000000 c0c0298c 00000000 00000000 c0b68638 c0c029e0
> 1f40: c0c029d8 c0c01f74 c0c01f78 c0c01f68 c0108834 c0108838 60010013 ffffffff
>  r4:c0108838 r3:c0108834
> [<c0108800>] (arch_cpu_idle) from [<c016d0f0>] (default_idle_call+0x28/0x34)
> [<c016d0c8>] (default_idle_call) from [<c016d2fc>] (cpu_startup_entry+0x200/0x2a8)
> [<c016d0fc>] (cpu_startup_entry) from [<c07a3d94>] (rest_init+0x6c/0x84)
>  r7:c0b49a30
> [<c07a3d28>] (rest_init) from [<c0b00cf4>] (start_kernel+0x370/0x3f4)
> [<c0b00984>] (start_kernel) from [<8000807c>] (0x8000807c)
> ---[ end trace f418467955b3060c ]---
> 
> John Ognes
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux