On Thu, Jun 18, 2015 at 6:47 AM, David Jander <david@xxxxxxxxxxx> wrote: > > Hi > > I am having the imx.c serial port driver hang in imx_shutdown(). > I am running 4.1-rc8 on an i.MX6Q board. > If the user-space application calls close() on the serial device, > imx_shutdown() hangs in his line: > > ret = wait_event_interruptible(sport->dma_wait, > !sport->dma_is_rxing && !sport->dma_is_txing); > > wait_event_interruptible() does not return unless I receive some more data. > When entering wait_event_interruptible, sport->dma_is_rxing == 1 and > sport->dma_is_txing == 0. > From that moment onwards, dma_rx_callback() is not called unless I receive > more data, so sport->dma_is_rxing never gets cleared. > While bisecting the problem, I could identify the following commit as the one > that broke the driver for me: > > 068500e serial: imx: initialized DMA w/o HW flow enabled > > Obviously the problem is not in this commit, but probably in the DMA code. I am > using this driver on an i.MX6Q and have tried sdma firmware version 1.1 and > 3.1 so far. The problem appears the same with both. Could you also try it without loading any external SDMA firmware? Regards, Fabio Estevam -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in