Messages in this thread | | | Subject | Re: [PATCH] usb: f_mass_storage: test whether thread is running before starting another | From | Ivaylo Dimitrov <> | Date | Thu, 7 Apr 2016 23:50:36 +0300 |
| |
Hi,
On 7.04.2016 17:46, Ivaylo Dimitrov wrote: > > Hi, > > On 7.04.2016 17:25, Alan Stern wrote: >> On Thu, 7 Apr 2016, Michal Nazarewicz wrote: >> >>> Sounds good to me. I’d love someone to test this patch (I sadly have no >>> way of doing that at the moment) and with that I can resend it with >>> updated message. >> >> Ivaylo should be able to try it. >> > > I applied the patch agains 4.6-rc1 and while it seems there is no more > oops, trying to "cd /sys/bus/platform/drivers/musb-hdrc && echo > musb-hdrc.0.auto > unbind" still results in console hang. Will try to > find time later today and put printks all over the place to see what's > going on. >
The $subject patch fixes the oops in fsg, so you may add:
Tested-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
However, there is another problem, this time with f_acm - if there is an open /dev/ttyGSn device, it is impossible to reboot/power down the device.
My investigation shows so far that there is a process(pnatd) that opens /dev/ttyGSn devices, so gserial_free_port() hangs on wait_event(port->close_wait, gs_closed(port)); if I do "cd /sys/bus/platform/drivers/musb-hdrc && echo musb-hdrc.0.auto > unbind".
Unfortunately I don't have serial port connector on my N900, so I can't capture logs after the reboot command, however, I suspect it hangs on the same place as with unbind.
That looks weird, as one would expect that close() is called when the kernel kills user processes on reboot/powerdown.
Ivo
| |