diff --git a/patch/kernel/archive/rockchip64-6.15/wifi-4004-ssv6051-fix-build-for-6.15-del_timer_sync-timer_dele.patch b/patch/kernel/archive/rockchip64-6.15/wifi-4004-ssv6051-fix-build-for-6.15-del_timer_sync-timer_dele.patch new file mode 100644 index 0000000000..e86c0f5876 --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.15/wifi-4004-ssv6051-fix-build-for-6.15-del_timer_sync-timer_dele.patch @@ -0,0 +1,45 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ricardo Pardini +Date: Fri, 23 May 2025 09:30:52 +0200 +Subject: ssv6051: fix build for 6.15 (2x del_timer_sync->timer_delete_sync) + +--- + drivers/net/wireless/ssv6051/smac/dev.c | 4 ++++ + drivers/net/wireless/ssv6051/smac/init.c | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/drivers/net/wireless/ssv6051/smac/dev.c b/drivers/net/wireless/ssv6051/smac/dev.c +index 111111111111..222222222222 100644 +--- a/drivers/net/wireless/ssv6051/smac/dev.c ++++ b/drivers/net/wireless/ssv6051/smac/dev.c +@@ -2190,7 +2190,11 @@ static void ssv6200_stop(struct ieee80211_hw *hw, bool flag) + } + sc->watchdog_flag = WD_SLEEP; + mutex_unlock(&sc->mutex); ++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++ timer_delete_sync(&sc->watchdog_timeout); ++ #else + del_timer_sync(&sc->watchdog_timeout); ++ #endif + #ifdef CONFIG_SSV_SMARTLINK + { + extern void ksmartlink_exit(void); +diff --git a/drivers/net/wireless/ssv6051/smac/init.c b/drivers/net/wireless/ssv6051/smac/init.c +index 111111111111..222222222222 100644 +--- a/drivers/net/wireless/ssv6051/smac/init.c ++++ b/drivers/net/wireless/ssv6051/smac/init.c +@@ -461,7 +461,11 @@ static int ssv6xxx_deinit_softc(struct ssv_softc *sc) + ssv6xxx_rate_control_unregister(); + cancel_delayed_work_sync(&sc->bcast_tx_work); + //ssv6xxx_watchdog_controller(sc->sh ,(u8)SSV6XXX_HOST_CMD_WATCHDOG_STOP); ++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++ timer_delete_sync(&sc->watchdog_timeout); ++ #else + del_timer_sync(&sc->watchdog_timeout); ++ #endif + cancel_delayed_work(&sc->thermal_monitor_work); + sc->ps_status = PWRSV_PREPARE; + flush_workqueue(sc->thermal_wq); +-- +Armbian +