On Fri, Feb 28, 2014 at 09:34:27AM +1300, Chris Kimber wrote: > Hi, > > On 22/02/2014 4:33 a.m., Felipe Balbi wrote: > >On Fri, Feb 21, 2014 at 03:27:09PM +1300, Chris Kimber wrote: > >>Hey > >> > >>On 21/02/2014 2:14 p.m., Felipe Balbi wrote: > >>>Hi, > >>> > >>>(please avoid top-posting) > >>> > >>>On Fri, Feb 21, 2014 at 12:11:40AM +0000, Chris Kimber wrote: > >>>>Hey, > >>>> > >>>>Thanks for the response. > >>>> > >>>>I've disabled the DMA (CONFIG_MUSB_PIO_ONLY=y) but the problem still > >>>>persists (for both USB sticks & USB serial ports). > >>>hmm, that's weird. > >>> > >>>>Now it looks like dsps_interrupt() never fires and causes the hang > >>>>up... > >>>> > >>>>[ 94.865635] tty ttyUSB0: serial_write - 11 byte(s) > >>>>[ 94.865656] cp210x ttyUSB0: usb_serial_generic_write_start - length = 11, data = 54 45 53 54 49 4e 47 20 34 32 0a > >>>>[ 94.865680] musb-hdrc musb-hdrc.1.auto: qh ce461a00 periodic slot 10 > >>>>[ 94.865700] musb-hdrc musb-hdrc.1.auto: qh ce461a00 urb ce481e80 dev2 ep1out-bulk, hw_ep 10, ce43db00/11 > >>>>[ 94.865721] musb-hdrc musb-hdrc.1.auto: --> hw10 urb ce481e80 spd2 dev2 ep1out h_addr00 h_port00 bytes 11 > >>>>[ 94.865740] musb-hdrc musb-hdrc.1.auto: TX ep10 fifo d0832c48 count 11 buf ce43db00 > >>>>[ 94.865755] musb-hdrc musb-hdrc.1.auto: Start TX10 pio > >>>>[ 94.865792] musb-hdrc musb-hdrc.1.auto: usbintr (0) epintr(400) > >>>>[ 94.865810] musb-hdrc musb-hdrc.1.auto: ** IRQ host usb0000 tx0400 rx0000 > >>>>[ 94.865826] musb-hdrc musb-hdrc.1.auto: OUT/TX10 end, csr 2100 > >>>>[ 94.865866] musb-hdrc musb-hdrc.1.auto: complete ce481e80 usb_serial_generic_write_bulk_callback+0x0/0xd4 [usbserial] (0), dev2 ep1out, 11/11 > >>>so the first one completed just fine. > >>> > >>>>[ 94.865971] tty ttyUSB0: serial_write - 11 byte(s) > >>>>[ 94.865991] cp210x ttyUSB0: usb_serial_generic_write_start - length = 11, data = 54 45 53 54 49 4e 47 20 34 33 0a > >>>>[ 94.866015] musb-hdrc musb-hdrc.1.auto: qh ce461a00 periodic slot 10 > >>>>[ 94.866035] musb-hdrc musb-hdrc.1.auto: qh ce461a00 urb ce481e80 dev2 ep1out-bulk, hw_ep 10, ce43db00/11 > >>>>[ 94.866055] musb-hdrc musb-hdrc.1.auto: --> hw10 urb ce481e80 spd2 dev2 ep1out h_addr00 h_port00 bytes 11 > >>>>[ 94.866075] musb-hdrc musb-hdrc.1.auto: TX ep10 fifo d0832c48 count 11 buf ce43db00 > >>>>[ 94.866089] musb-hdrc musb-hdrc.1.auto: Start TX10 pio > >>>can you dump TXCSR, DEVCTL and IRQ registers when this happens ? > >>> > >>I added the IRQ registers to the debugfs interface.. > >> > >>IntrTX : 0000 > >>IntrRX : 0000 > >>IntrTXE : ffff > >>IntrRXE : fffe > >>IntrUSB : 08 > >>IntrUSBE : f7 > >>TxCSRp : 0000 > >>DevCtl : 5d > >> > >>Oddly the VBUSERR bit is set, if I disconnect the USB cable then it > >>goes to 0. I just tried plugging in via powered hub and that doesn't > >>change the status. > >that might be the issue you're having, then. for whatever reason VBUS > >level fluctuates and that confuses MUSB. > > > >I'll see if there's anyway to work around that. > > > > I've finally managed to find some time to check the old 3.2 kernel's > Interrupt registers and have found that the VBUSERR bit is still set, > so this might be a red herring. > > I've ordered a BeagleBone Black just to make sure this isn't just > related to the AM335x Silicon v1 problems you mentioned before. > > The search continues. alright, keep us posted ;-) -- balbi