Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Bug detection and correction on Alchemy au1x00_uart.c serial driver
@ 2005-04-18 11:02 d.piccolo
  2005-04-21  5:08 ` Pete Popov
  0 siblings, 1 reply; 2+ messages in thread
From: d.piccolo @ 2005-04-18 11:02 UTC (permalink / raw)
  To: linux-mips

Hi Everybody

I've found a bug in the  au1x00_uart.c file in the drivers/serial/
directory of the 2.6.10 linux kernel. There is only possible to change
the speed of the communication but not to update other parameters of the
serial link, like the number of bits involved, stop bits and parity.
  Comparing the code of this source file with the code of the standard
8250 driver (8250.c also present in the same directory) I've found the
problem:  au1x00_uart.c never updates the LCR register  (Line Control
Register) of the serial controller at runtime, it happens only at first
setup. The problem is solved by adding the line

	serial_out(up, UART_LCR, cval);

just before the line 
 
	up->lcr = cval;	  /* Save LCR */

(there is only one position in all the source code where is written
"Save LCR")

I hope it could be useful.
                              David Piccolo


    

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Bug detection and correction on Alchemy au1x00_uart.c serial driver
  2005-04-18 11:02 Bug detection and correction on Alchemy au1x00_uart.c serial driver d.piccolo
@ 2005-04-21  5:08 ` Pete Popov
  0 siblings, 0 replies; 2+ messages in thread
From: Pete Popov @ 2005-04-21  5:08 UTC (permalink / raw)
  To: d.piccolo; +Cc: linux-mips


Applied, thanks.

Pete

d.piccolo wrote:
> Hi Everybody
> 
> I've found a bug in the  au1x00_uart.c file in the drivers/serial/
> directory of the 2.6.10 linux kernel. There is only possible to change
> the speed of the communication but not to update other parameters of the
> serial link, like the number of bits involved, stop bits and parity.
>   Comparing the code of this source file with the code of the standard
> 8250 driver (8250.c also present in the same directory) I've found the
> problem:  au1x00_uart.c never updates the LCR register  (Line Control
> Register) of the serial controller at runtime, it happens only at first
> setup. The problem is solved by adding the line
> 
> 	serial_out(up, UART_LCR, cval);
> 
> just before the line 
>  
> 	up->lcr = cval;	  /* Save LCR */
> 
> (there is only one position in all the source code where is written
> "Save LCR")
> 
> I hope it could be useful.
>                               David Piccolo
> 
> 
>     
> 
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-04-21  5:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-18 11:02 Bug detection and correction on Alchemy au1x00_uart.c serial driver d.piccolo
2005-04-21  5:08 ` Pete Popov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox