musb_host flushing issue

I’ve been trying to troubleshoot an issue, but lacking experience working in the kernel, and not being able to find this same issue discussed elsewhere, I could use some help.

Basically, I have a USB communication class device interface with my BBB that only works once between booting. I’ll power up, send a character command to the device, and get the expected response back … but if I send the same command again, fgets never returns a non-null string. If I reboot the BBB, I can send the command and get the expected response back, but, again, only once.

Other USB issues I’ve seen discuss power, and my device is bus-powered, but I don’t think it’s a power issue, as I found the following in dmesg, which doesn’t seem to relate to power (this message appears after the first time sending a command to the device, and every time thereafter):

WARNING: at drivers/usb/musb/musb_host.c:125 musb_h_tx_flush_fifo+0x35/0x5c()

Any ideas on how to troubleshoot this? Again, I have no experience working in the kernel, so I’m at a loss. My only idea was to examine the code throwing the warning, but, mysteriously, I searched the entire file system (find / musb_host.c) and couldn’t locate musb_host.c … how could that file be throwing the warning if it seemingly doesn’t exist on my file system?

This is a company project and we’re willing to pay for a solution at this point.

Okay, I realize that this is tricky and a bit of a unique issue, so I understand if there aren’t solutions out there.

More basically, then: how can I find the drivers/usb/musb/musb_host.c source file? Maybe I’m thinking about this wrong, but if that’s throwing a warning, why can’ tI find it anywhere in the file system to troubleshoot?

WARNING: at drivers/usb/musb/musb_host.c:125 musb_h_tx_flush_fifo+0x35/0x5c()

what’s your kernel version? and what’s your MUSB RTL version?
I encourtered same problem also, and it seems the kernel’s MUSB code is not identical to
my MUSB core, e.g. when you flush the txfifo, for my MUSB, you must clear the
MUSB_TXCSR_TXPKTRDY at same time.

Also you can describle your problem clearly and post a request in linux usb maillist.

here is the code:
http://lxr.linux.no/linux+v3.12/drivers/usb/musb/musb_host.c

Kernel version 3.8.13.

When I navigate to drivers/usb I don’t even have an musb directory … so is the warning simply triggering because I don’t have the files installed?