"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 <[email protected]>
---
 drivers/net/caif/caif_serial.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 40b079162804fb0c..bd40b114d6cd7214 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c
@@ -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);
-- 
2.17.1

Reply via email to