Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys



On Mon, Dec 04, 2017 at 10:14:33AM +0100, Manuel Bouyer wrote:
> On Mon, Dec 04, 2017 at 09:48:32AM +0100, Joerg Sonnenberger wrote:
> > On Fri, May 27, 2016 at 08:01:49PM +0000, Manuel Bouyer wrote:
> > > Module Name:	src
> > > Committed By:	bouyer
> > > Date:		Fri May 27 20:01:49 UTC 2016
> > > 
> > > Modified Files:
> > > 	src/sys/arch/arm/allwinner: files.awin
> > > 	src/sys/conf: files
> > > 	src/sys/dev/ic: com.c comreg.h comvar.h ns16550reg.h
> > > 
> > > Log Message:
> > > The UART in the allwiner SoCs is not full-compatible with the 16550, and
> > > it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
> > > which is triggered when writing to LCR while the chip
> > > can't accept it. But unlike the 16750, it has a specific register,
> > > HALT, to allow writing to the LCR and divisor registers, and then
> > > commit the changes.
> > > Tested on an A20 SoC, changing the baud rate while keeping the
> > > tty device open and incoming data.
> > 
> > Hello Manuel,
> > I'm not sure how you tested this, but you are trivally accessing an array
> > beyond the end. COM_REG_TFL and friends are all larger than the cr_map array.
> 
> Inded, but cr_map is used only if COM_REGMAP is defined, which is not
> the case for allwinner. That's why it works ...
> 
> I'll add a #error for this case.

That doesn't help since the code in com.c is compiled into the ARMADAXP
kernel.

Joerg


Home | Main Index | Thread Index | Old Index