Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iwlegacy: Fix -Wcast-function-type

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>

authored by

Phong Tran and committed by
Kalle Valo
da5e57e8 ebd77feb

+6 -4
+3 -2
drivers/net/wireless/intel/iwlegacy/3945-mac.c
··· 1376 1376 } 1377 1377 1378 1378 static void 1379 - il3945_irq_tasklet(struct il_priv *il) 1379 + il3945_irq_tasklet(unsigned long data) 1380 1380 { 1381 + struct il_priv *il = (struct il_priv *)data; 1381 1382 u32 inta, handled = 0; 1382 1383 u32 inta_fh; 1383 1384 unsigned long flags; ··· 3402 3401 timer_setup(&il->watchdog, il_bg_watchdog, 0); 3403 3402 3404 3403 tasklet_init(&il->irq_tasklet, 3405 - (void (*)(unsigned long))il3945_irq_tasklet, 3404 + il3945_irq_tasklet, 3406 3405 (unsigned long)il); 3407 3406 } 3408 3407
+3 -2
drivers/net/wireless/intel/iwlegacy/4965-mac.c
··· 4343 4343 } 4344 4344 4345 4345 static void 4346 - il4965_irq_tasklet(struct il_priv *il) 4346 + il4965_irq_tasklet(unsigned long data) 4347 4347 { 4348 + struct il_priv *il = (struct il_priv *)data; 4348 4349 u32 inta, handled = 0; 4349 4350 u32 inta_fh; 4350 4351 unsigned long flags; ··· 6238 6237 timer_setup(&il->watchdog, il_bg_watchdog, 0); 6239 6238 6240 6239 tasklet_init(&il->irq_tasklet, 6241 - (void (*)(unsigned long))il4965_irq_tasklet, 6240 + il4965_irq_tasklet, 6242 6241 (unsigned long)il); 6243 6242 } 6244 6243