USB "Babble Interrupt Occured"

I’m trying to connect a cell modem to a BeagleBone. It works, but sometimes I get the following errors:

[60591.505685] ti81xx_interrupt 869: CAUTION: musb1: Babble Interrupt Occured
[60591.512868] ti81xx_interrupt 870: Please issue long reset to make usb functional !!

As soon as this happens, the device disconnects, reconnects (and redetects), then very shortly after it happens again. Then this happens in a loop until I reboot the system. I want the cell connection to last even when I am not around, of course, so I can’t just reboot. Does anyone know if this is a known problem, if there is a fix, or is there a way I can perform the “long reset” while the system is running (so I can workaround with a script)?

I haven’t noticed this when using USB mass storage or other usbserial (FTDI) devices.

I’m using a “3.2.0+” kernel that I built from bitbake. The modules used on this device are option (depends on usb_wwan and usbserial), and cdc_ether. The device does appear to have a funky device descriptor that doesn’t appear to prevent it from working, but I don’t know if that exaggerates the problem somehow. These errors also appear on “desktop” Ubuntu systems. In both cases all of the expected interfaces appear on the device.

[60751.391691] usb 1-1: config 1 has an invalid interface number: 6 but max is 5
[60751.399144] usb 1-1: config 1 has an invalid interface number: 7 but max is 5
[60751.406614] usb 1-1: config 1 has an invalid interface number: 7 but max is 5
[60751.414072] usb 1-1: config 1 has no interface number 3
[60751.419520] usb 1-1: config 1 has no interface number 5