[PATCH] CPM_UART: Fix non-console transmit

Laurent Pinchart laurent.pinchart at tbox.biz
Tue Oct 31 21:24:46 EST 2006


> > After applying your patch,
> > the transmission doesn't take place at all..
> > just hanging in write...
> > at least it is possible to exit the program.
>
> That's strange. No matter how I test the driver it now works
> perfectly for me with my patches.

Ditto. Your patch fixed my problems. I'd like to see a fix (either this one or 
another one, there are different solutions) pushed upstream soon, as the 
problem is quite serious. I'm quite amazed nobody had ever reported it 
before.

> Did you apply them both?

I only applied [PATCH] CPM_UART: Fix non-console transmit

> However, I cannot see why the length of the transmission would cause any
> difference.
>
> What is you baud rate on SMC2? How about the TX buffer count and TX
> FIFO size - have you changed them? I suspect that cpm_uart_tx_pump()
> could disable your TX interrupt when you have all characters queued in
> separate TX buffers. I'll test this theory tomorrow.
>
> You might want to strace your program and post the results here. Also put
>
>   #define DEBUG
>
> in front of cpm_uart_core.c and cpm_uart_cpm2.c and recompile. You'll
> get a lot of debugging messages after
>
>   echo 8 > /proc/sys/kernel/printk
>
> That should give us clues what goes wrong. The output of
>
>   stty -F /dev/ttyCPM1 -a
>
> would also help.

Cheers,

Laurent Pinchart



More information about the Linuxppc-embedded mailing list