net: caif: Fix debugfs on 64-bit platforms
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 25 Oct 2019 09:41:26 +0000 (11:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Nov 2019 10:52:56 +0000 (11:52 +0100)
"ser_device.state" is "unsigned long", i.e. 32-bit or 64-bit, depending
on the platform.  Hence casting its address to "u32 *", and calling
debugfs_create_x32() breaks operation on 64-bit platforms.

Fix this by using the new debugfs_create_xul() helper instead.

Fixes: 9b27105b4a44c54b ("net-caif-driver: add CAIF serial driver (ldisc)")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20191025094130.26033-4-geert+renesas@glider.be
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/caif/caif_serial.c

index 40b0791..bd40b11 100644 (file)
@@ -102,8 +102,8 @@ static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty)
        debugfs_create_blob("last_rx_msg", 0400, ser->debugfs_tty_dir,
                            &ser->rx_blob);
 
-       debugfs_create_x32("ser_state", 0400, ser->debugfs_tty_dir,
-                          (u32 *)&ser->state);
+       debugfs_create_xul("ser_state", 0400, ser->debugfs_tty_dir,
+                          &ser->state);
 
        debugfs_create_x8("tty_status", 0400, ser->debugfs_tty_dir,
                          &ser->tty_status);