]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
b43legacy: Fix -Wcast-function-type
authorPhong Tran <tranmanphong@gmail.com>
Tue, 26 Nov 2019 17:55:26 +0000 (00:55 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 14:42:25 +0000 (15:42 +0100)
[ Upstream commit 475eec112e4267232d10f4afe2f939a241692b6c ]

correct usage prototype of callback in tasklet_init().
Report by https://github.com/KSPP/linux/issues/20

Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
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/broadcom/b43legacy/main.c

index 83770d2ea057875ddd75ffb312e9b2f3d28e5e9f..9da8bd7927022c88868b5c5b6931872295a514cf 100644 (file)
@@ -1304,8 +1304,9 @@ static void handle_irq_ucode_debug(struct b43legacy_wldev *dev)
 }
 
 /* Interrupt handler bottom-half */
-static void b43legacy_interrupt_tasklet(struct b43legacy_wldev *dev)
+static void b43legacy_interrupt_tasklet(unsigned long data)
 {
+       struct b43legacy_wldev *dev = (struct b43legacy_wldev *)data;
        u32 reason;
        u32 dma_reason[ARRAY_SIZE(dev->dma_reason)];
        u32 merged_dma_reason = 0;
@@ -3775,7 +3776,7 @@ static int b43legacy_one_core_attach(struct ssb_device *dev,
        b43legacy_set_status(wldev, B43legacy_STAT_UNINIT);
        wldev->bad_frames_preempt = modparam_bad_frames_preempt;
        tasklet_init(&wldev->isr_tasklet,
-                    (void (*)(unsigned long))b43legacy_interrupt_tasklet,
+                    b43legacy_interrupt_tasklet,
                     (unsigned long)wldev);
        if (modparam_pio)
                wldev->__using_pio = true;