sysvinit freeze 30seconds on close /dev/console

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

 



I'm running 3.6.9 kernel on my s3c2442 board.
the sysvinit freeze 30seconds after print out "INIT:",
and then freeze 30seconds after print out "version 2.88 booting".
I checked it's code, the 'close(fd)' should be responsible for the 30 seconds.

same binary running well on mini2440(s3c2440 board).
Through several days hard work, I got the root cause.
the close called wait_until_sent with timeout(30seconds).
the uart clock source selection is different.
although both of the two boards selected 'pclk',
related register: UCON0[11:10] 0x50000004
s3c2440 use '10', s3c2442 use '00'.

on s3c2440, the '10' is selected in initialalize stage.
on s3c2442, it can't find propriate clock, so use default value '00'.

in initialize stage, it will found 'clk_uart_baud2", but not on s3c2442.
I checked 'arch/arm/mach-s3c24xx/clock-s3c2440.c', it is only registered for 
s3c2440_subsys, but not for s3c2442_sys.
after registered 's3c2440_clk_lookup' for s3c2442_subsys, everything OK.

problem:
1. I don't know the different between 00 and 10 of pck in register 
UCON0[11:10].
2. why kernel code have not registered s3c2440_clk_lookup for s3c2442? and 
also dma-s3c2440.c.

I checked 'arch/arm/mach-s3c24xx/s3c2442.c', it is for the s3c2442's clock, 
but why the file name is not 'clock-s3c2442.c'? an it only contain cam related 
clock, no uart related clock.

Yi Qingliang
Nanjing Jilong
niqingliang2003@xxxxxxxx





--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux