misc: imx: scu: avoid write null pointer
authorPeng Fan <peng.fan@nxp.com>
Sat, 15 Dec 2018 12:19:49 +0000 (12:19 +0000)
committerStefano Babic <sbabic@denx.de>
Wed, 9 Jan 2019 16:03:45 +0000 (17:03 +0100)
When boot_dev is true, fill boot device. However the original logic is when
boot_dev is false, fill boot device, this will trigger data abort.

Also fix sc_misc_get_control when using pointer val.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/misc/imx8/scu_api.c

index 65080d7544967373456feb13325940db282aa5ac..d9c4d5d78406fc79281b641fc7ee0f371d985f4d 100644 (file)
@@ -169,7 +169,7 @@ int sc_misc_get_control(sc_ipc_t ipc, sc_rsrc_t resource, sc_ctrl_t ctrl,
                printf("%s: ctrl:%d resource:%d: res:%d\n",
                       __func__, ctrl, resource, RPC_R8(&msg));
 
-       if (!val)
+       if (val)
                *val = RPC_U32(&msg, 0U);
 
        return ret;
@@ -194,7 +194,7 @@ void sc_misc_get_boot_dev(sc_ipc_t ipc, sc_rsrc_t *boot_dev)
        if (ret)
                printf("%s: res:%d\n", __func__, RPC_R8(&msg));
 
-       if (!boot_dev)
+       if (boot_dev)
                *boot_dev = RPC_U16(&msg, 0U);
 }