Re: [PATCH] usb: f_mass_storage: test whether thread is running before starting another
From: Ivaylo Dimitrov
Date: Thu Apr 07 2016 - 16:50:48 EST
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@xxxxxxxxx>
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