projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
273ef95
)
drivers/tty/serial/pch_uart.c: don't oops if dmi_get_system_info returns NULL
author
Alexander Stein
<
[email protected]
>
Wed, 15 Jun 2011 22:08:55 +0000
(15:08 -0700)
committer
Linus Torvalds
<
[email protected]
>
Thu, 16 Jun 2011 03:04:02 +0000
(20:04 -0700)
If dmi_get_system_info() returns NULL, pch_uart_init_port() will
dereferencea a zero pointer.
This oops was observed on an Atom based board which has no BIOS, but
a bootloder which doesn't provide DMI data.
Signed-off-by: Alexander Stein <
[email protected]
>
Cc: Greg KH <
[email protected]
>
Cc: <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
drivers/tty/serial/pch_uart.c
patch
|
blob
|
history
diff --git
a/drivers/tty/serial/pch_uart.c
b/drivers/tty/serial/pch_uart.c
index f2cb7503fcb213115b3b15722495c335a0aad984..465210930890b72ecdcaf1c70167b7211f43ed9e 100644
(file)
--- a/
drivers/tty/serial/pch_uart.c
+++ b/
drivers/tty/serial/pch_uart.c
@@
-1397,6
+1397,7
@@
static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
int fifosize, base_baud;
int port_type;
struct pch_uart_driver_data *board;
+ const char *board_name;
board = &drv_dat[id->driver_data];
port_type = board->port_type;
@@
-1412,7
+1413,8
@@
static struct eg20t_port *pch_uart_init_port(struct pci_dev *pdev,
base_baud = 1843200; /* 1.8432MHz */
/* quirk for CM-iTC board */
- if (strstr(dmi_get_system_info(DMI_BOARD_NAME), "CM-iTC"))
+ board_name = dmi_get_system_info(DMI_BOARD_NAME);
+ if (board_name && strstr(board_name, "CM-iTC"))
base_baud = 192000000; /* 192.0MHz */
switch (port_type) {