OSDN Git Service

thermal: imx_sc_thermal: Align imx sc thermal msg structs to 4
authorAnson Huang <Anson.Huang@nxp.com>
Mon, 2 Mar 2020 02:51:25 +0000 (10:51 +0800)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 12 Mar 2020 10:56:53 +0000 (11:56 +0100)
The i.MX SCU API strongly assumes that messages are composed out
of 4-bytes words but some of our message structs have odd sizeofs,
use __packed __aligned(4) to avoid potential oopses.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/1583117485-30922-1-git-send-email-Anson.Huang@nxp.com
drivers/thermal/imx_sc_thermal.c

index 4955dfd..dbb277a 100644 (file)
@@ -27,12 +27,12 @@ struct imx_sc_sensor {
 struct req_get_temp {
        u16 resource_id;
        u8 type;
-} __packed;
+} __packed __aligned(4);
 
 struct resp_get_temp {
        u16 celsius;
        u8 tenths;
-} __packed;
+} __packed __aligned(4);
 
 struct imx_sc_msg_misc_get_temp {
        struct imx_sc_rpc_msg hdr;
@@ -40,7 +40,7 @@ struct imx_sc_msg_misc_get_temp {
                struct req_get_temp req;
                struct resp_get_temp resp;
        } data;
-};
+} __packed __aligned(4);
 
 static int imx_sc_thermal_get_temp(void *data, int *temp)
 {