Modify

Opened 9 years ago

Closed 9 years ago

#4622 closed defect (fixed)

serial console early init on bcm47xx

Reported by: anonymous Owned by: florian
Priority: normal Milestone:
Component: kernel Version:
Keywords: Cc: vanekt@…

Description

bcm47xx, latest svn trunk, kernels 2.6.25 and 28

Early init of serial console (plat_mem_setup() in arch/mips/bcm47xx/setup.c) does not set mapbase member of uart_port struct. Compare the code to arch/mips/bcm47xx/setup.c

The mapbase is not used by early 8250 driver itself. However in setup of standard serial driver mapbase is used for matching it to existing early console of same port (serial_match_port() in drivers/serial/serial_core.c)

Missing mapbase value results in curious setup with early console is on ttyS0 and full serial driver of same port resides on ttyS1. When ttyS1 is used console stops working.

Following patch corrects the problem:

--- linux-2.6.28-orig/arch/mips/bcm47xx/setup.c	2009-02-13 17:46:13.000000000 +0100
+++ linux-2.6.28/arch/mips/bcm47xx/setup.c	2009-02-13 17:44:19.000000000 +0100
@@ -189,6 +189,7 @@ void __init plat_mem_setup(void)
 
 		memset(&s, 0, sizeof(s));
 		s.line = i;
+		s.mapbase = (unsigned int) port->regs;
 		s.membase = port->regs;
 		s.irq = port->irq + 2;
 		s.uartclk = port->baud_base;

Attachments (1)

bcm47xx-serial-early-setup.diff (682 bytes) - added by anonymous 9 years ago.
patch of patch for svn trunk

Download all attachments as: .zip

Change History (3)

Changed 9 years ago by anonymous

patch of patch for svn trunk

comment:1 Changed 9 years ago by florian

  • Owner changed from developers to florian
  • Status changed from new to assigned

comment:2 Changed 9 years ago by florian

  • Resolution set to fixed
  • Status changed from assigned to closed

Applied in [15255], thanks !

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.