[patch 18/18] PS3: Device registration routines.
Geert Uytterhoeven
Geert.Uytterhoeven at sonycom.com
Wed Jun 6 22:21:10 EST 2007
On Tue, 5 Jun 2007, Geoff Levand wrote:
> +static int __init ps3_register_vuart_devices(void)
> +{
> + int result;
> + unsigned int port_number;
> +
> + pr_debug(" -> %s:%d\n", __func__, __LINE__);
> +
> + result = ps3_repository_read_vuart_av_port(&port_number);
> +
> + if (result)
> + port_number = 0; /* av default */
> +
> + result = ps3_setup_vuart_device(PS3_MATCH_ID_AV_SETTINGS, port_number);
> + WARN_ON(result);
> +
> + ps3_repository_read_vuart_sysmgr_port(&port_number);
^^^^
> +
> + if (result)
> + port_number = 2; /* sysmgr default */
You forgot to assign the return value of
ps3_repository_read_vuart_sysmgr_port(). As the system manager vuart port
number is not in the repository on the firmware I'm using, port_number contains
garbage, and ps3_vuart_probe() will BUG().
As this problem is present in your current git tree, here's a patch:
Subject: [PATCH] Check return value of ps3_repository_read_vuart_sysmgr_port()
Add a missing assignment of the return value of
ps3_repository_read_vuart_sysmgr_port(). As the system manager vuart port
number is not in the repository on the firmware I'm using, port_number contains
garbage, and ps3_vuart_probe() will BUG().
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com>
--- a/arch/powerpc/platforms/ps3/device-init.c 2007-06-06 13:58:43.000000000 +0200
+++ b/arch/powerpc/platforms/ps3/device-init.c 2007-06-06 14:12:35.000000000 +0200
@@ -505,15 +505,13 @@ static int __init ps3_register_vuart_dev
pr_debug(" -> %s:%d\n", __func__, __LINE__);
result = ps3_repository_read_vuart_av_port(&port_number);
-
if (result)
port_number = 0; /* av default */
result = ps3_setup_vuart_device(PS3_MATCH_ID_AV_SETTINGS, port_number);
WARN_ON(result);
- ps3_repository_read_vuart_sysmgr_port(&port_number);
-
+ result = ps3_repository_read_vuart_sysmgr_port(&port_number);
if (result)
port_number = 2; /* sysmgr default */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- Sony Network and Software Technology Center Europe (NSCE)
Geert.Uytterhoeven at sonycom.com ------- The Corporate Village, Da Vincilaan 7-D1
Voice +32-2-7008453 Fax +32-2-7008622 ---------------- B-1935 Zaventem, Belgium
More information about the Linuxppc-dev
mailing list