VF50 linux process trying to close ttyLP2 hangs in lpuart_shutdown

I’m using ofono 1.19 with a UART-attached modem. I often find that when I try to shut down the process it won’t respond, even to SIGKILL. It looks like it’s hanging in a driver function lpuart_shutdown.

# uname -r
4.4.14-v2.6b2+gefe965a
# echo $(cat /proc/$(pgrep ofono)/wchan)
lpuart_shutdown

I haven’t yet gotten a slimmed down test case, unfortunately. I’m assuming something else in the driver is holding the port lock.

Unfortunately the only mitigation I’ve found is a reboot; lsof doesn’t show the device open anymore, but another onofo instance can’t be started because the previous unkillable instance is still holding onto the dbus name.

Sorry! for the delay. Can you please provide some more details about the ofono configuration/setup to replicate the issue and also ofono v1.19 build details.

This is probably caused by the DMA wait queue. You probably hit a DMA edge case we fixed recently:

http://git.toradex.com/cgit/linux-toradex.git/commit/?h=toradex_vf_4.4-next&id=a650cbfc7e981ba24313da0338f4482bef514d44

This patch is not yet part of V2.6b2 or V2.6.1b1, it is only fixed in our latest V2.7 BSP release…

I will try incorporating this patch and see if the problem remains. Thank you.

The setup is ofono 1.19, but with a custom driver for a UART-attached u.blox SARA-350 module. Even if I gave you this code you would probably need a similar module to fully reproduce the case. If Stefan’s suggestion doesn’t help, I will try to create a simplified test case for further investigation. Thank you.

Since incorporating that patch the issue has not recurred. Thank you very much for pointing me to it.