提交 19a74263 编写于 作者: S Stephen Neuendorffer 提交者: Josh Boyer

[POWERPC] of_serial: Fix possible null dereference.

The of_serial driver queries the current-speed property and attempts
to use it to register the custom_divisor property of the uart_port.
However, if current-speed is not set, then this code will dereference
a bad pointer.  The fix is to only set custom_divisor when a
current-speed property appears in the device tree.
Signed-off-by: NStephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Signed-off-by: NJohn Linn <john.linn@xilinx.com>
Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
上级 5f91925c
......@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
| UPF_FIXED_PORT;
port->dev = &ofdev->dev;
port->custom_divisor = *clk / (16 * (*spd));
/* If current-speed was set, then try not to change it. */
if (spd)
port->custom_divisor = *clk / (16 * (*spd));
return 0;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册