On Fri, Mar 30, 2012 at 2:56 PM, Joe Woodward <jw@xxxxxxxxxxxxxx> wrote: > ...[snip]... >> >> Could you please try attached patch and let me know if this solves the >> rx issue as well, >> without using dma mode. >> > > Right, > > I think we've getting closer, but still not quite there... > > Firstly, the patch adds an include to "iomap.h" - but this doesn't exist in stock 3.3. Simply removing this include seemed to allow the compile to complete > successfully. Sorry I forgot to specify this is needed for latest mainline. > > With this patch applied (and not in DMA mode) I now get the following: > - If I leave wake-from-suspend enabled for the serial port then it works correctly (i.e. no lost/extra 0x00 characters). > - If I disable wake-from-suspend for the serial port and go through a suspend cycle (i.e. suspend and then wake), then the serial port starts to misbehave as > before. > - If I then re-enable wake-from-suspend and go through a suspend cycle it starts to work correctly again. > > So the problem is still that if wake-from-suspend is disabled for a serial port, and a suspend cycle is performed then when woken the serial port will not function > correctly if operating in interrupt-mode. I tried it on my 3430sdp but strangely I don't see a 0x00 char read after disabling uart wakeups and waking up by keypad press. Probably as a quick try we can try doing uart_insert_char only if data was read from rx fifo (Attached patch) -- Thanks, Govindraj.R
Attachment:
rx_fifo_check.patch
Description: Binary data