sunsu: Fix panic in case of nonexistent port at "console=ttySY" cmdline option
[ Upstream commit
cb29529ea0030e60ef1bbbf8399a43d397a51526 ]
If a machine has X (X < 4) sunsu ports and cmdline
option "console=ttySY" is passed, where X < Y <= 4,
than the following panic happens:
Unable to handle kernel NULL pointer dereference
TPC: <sunsu_console_setup+0x78/0xe0>
RPC: <sunsu_console_setup+0x74/0xe0>
I7: <register_console+0x378/0x3e0>
Call Trace:
[
0000000000453a38] register_console+0x378/0x3e0
[
0000000000576fa0] uart_add_one_port+0x2e0/0x340
[
000000000057af40] su_probe+0x160/0x2e0
[
00000000005b8a4c] platform_drv_probe+0xc/0x20
[
00000000005b6c2c] driver_probe_device+0x12c/0x220
[
00000000005b6da8] __driver_attach+0x88/0xa0
[
00000000005b4df4] bus_for_each_dev+0x54/0xa0
[
00000000005b5a54] bus_add_driver+0x154/0x260
[
00000000005b7190] driver_register+0x50/0x180
[
00000000006d250c] sunsu_init+0x18c/0x1e0
[
00000000006c2668] do_one_initcall+0xe8/0x160
[
00000000006c282c] kernel_init_freeable+0x12c/0x1e0
[
0000000000603764] kernel_init+0x4/0x100
[
0000000000405f64] ret_from_syscall+0x1c/0x2c
[
0000000000000000] (null)
1)Fix the panic;
2)Increment registered port number every successful
probe.
Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>