Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19a74263 authored by Stephen Neuendorffer's avatar Stephen Neuendorffer Committed by Josh Boyer
Browse files

[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: default avatarStephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Signed-off-by: default avatarJohn Linn <john.linn@xilinx.com>
Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
parent 5f91925c
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -56,6 +56,8 @@ static int __devinit of_platform_serial_setup(struct of_device *ofdev,
	port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
	port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
		| UPF_FIXED_PORT;
		| UPF_FIXED_PORT;
	port->dev = &ofdev->dev;
	port->dev = &ofdev->dev;
	/* If current-speed was set, then try not to change it. */
	if (spd)
		port->custom_divisor = *clk / (16 * (*spd));
		port->custom_divisor = *clk / (16 * (*spd));


	return 0;
	return 0;