| From 98822ae0cc908e4ec8056ba9b5dc984b32d55fb7 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 27 Nov 2019 00:55:28 +0700 |
| Subject: iwlegacy: Fix -Wcast-function-type |
| |
| From: Phong Tran <tranmanphong@gmail.com> |
| |
| [ Upstream commit da5e57e8a6a3e69dac2937ba63fa86355628fbb2 ] |
| |
| correct usage prototype of callback in tasklet_init(). |
| Report by https://github.com/KSPP/linux/issues/20 |
| |
| Signed-off-by: Phong Tran <tranmanphong@gmail.com> |
| Reviewed-by: Kees Cook <keescook@chromium.org> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/wireless/intel/iwlegacy/3945-mac.c | 5 +++-- |
| drivers/net/wireless/intel/iwlegacy/4965-mac.c | 5 +++-- |
| 2 files changed, 6 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c |
| index 4fbcc7fba3cc1..e2e9c3e8fff51 100644 |
| --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c |
| +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c |
| @@ -1376,8 +1376,9 @@ il3945_dump_nic_error_log(struct il_priv *il) |
| } |
| |
| static void |
| -il3945_irq_tasklet(struct il_priv *il) |
| +il3945_irq_tasklet(unsigned long data) |
| { |
| + struct il_priv *il = (struct il_priv *)data; |
| u32 inta, handled = 0; |
| u32 inta_fh; |
| unsigned long flags; |
| @@ -3403,7 +3404,7 @@ il3945_setup_deferred_work(struct il_priv *il) |
| timer_setup(&il->watchdog, il_bg_watchdog, 0); |
| |
| tasklet_init(&il->irq_tasklet, |
| - (void (*)(unsigned long))il3945_irq_tasklet, |
| + il3945_irq_tasklet, |
| (unsigned long)il); |
| } |
| |
| diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c |
| index ffb705b18fb13..5fe17039a3375 100644 |
| --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c |
| +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c |
| @@ -4344,8 +4344,9 @@ il4965_synchronize_irq(struct il_priv *il) |
| } |
| |
| static void |
| -il4965_irq_tasklet(struct il_priv *il) |
| +il4965_irq_tasklet(unsigned long data) |
| { |
| + struct il_priv *il = (struct il_priv *)data; |
| u32 inta, handled = 0; |
| u32 inta_fh; |
| unsigned long flags; |
| @@ -6238,7 +6239,7 @@ il4965_setup_deferred_work(struct il_priv *il) |
| timer_setup(&il->watchdog, il_bg_watchdog, 0); |
| |
| tasklet_init(&il->irq_tasklet, |
| - (void (*)(unsigned long))il4965_irq_tasklet, |
| + il4965_irq_tasklet, |
| (unsigned long)il); |
| } |
| |
| -- |
| 2.20.1 |
| |