]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
wifi: brcmsmac: avoid function pointer casts
authorArnd Bergmann <arnd@arndb.de>
Tue, 13 Feb 2024 10:05:37 +0000 (11:05 +0100)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:19:30 +0000 (18:19 -0400)
commitf8e360c73bdf5bb578962b6407ab72ded6c3a677
tree38ab0bda1f21522b3aa6755949c7fddaa0e7797c
parent3438dccde5606f4db1ad710b8c18b536260bc7d5
wifi: brcmsmac: avoid function pointer casts

[ Upstream commit e1ea6db35fc3ba5ff063f097385e9f7a88c25356 ]

An old cleanup went a little too far and causes a warning with clang-16
and higher as it breaks control flow integrity (KCFI) rules:

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c:64:34: error: cast from 'void (*)(struct brcms_phy *)' to 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict]
   64 |                         brcms_init_timer(physhim->wl, (void (*)(void *))fn,
      |                                                       ^~~~~~~~~~~~~~~~~~~~

Change this one instance back to passing a void pointer so it can be
used with the timer callback interface.

Fixes: d89a4c80601d ("staging: brcm80211: removed void * from softmac phy")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240213100548.457854-1-arnd@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h