rtlwifi: rtl_pci: Fix -Wcast-function-type
authorPhong Tran <tranmanphong@gmail.com>
Tue, 26 Nov 2019 17:55:29 +0000 (00:55 +0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Feb 2020 14:42:26 +0000 (15:42 +0100)
[ Upstream commit cb775c88da5d48a85d99d95219f637b6fad2e0e9 ]

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/realtek/rtlwifi/pci.c

index e15b462..21b7cb8 100644 (file)
@@ -1095,13 +1095,15 @@ done:
        return ret;
 }
 
-static void _rtl_pci_irq_tasklet(struct ieee80211_hw *hw)
+static void _rtl_pci_irq_tasklet(unsigned long data)
 {
+       struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
        _rtl_pci_tx_chk_waitq(hw);
 }
 
-static void _rtl_pci_prepare_bcn_tasklet(struct ieee80211_hw *hw)
+static void _rtl_pci_prepare_bcn_tasklet(unsigned long data)
 {
+       struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
        struct rtl_priv *rtlpriv = rtl_priv(hw);
        struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
        struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
@@ -1223,10 +1225,10 @@ static void _rtl_pci_init_struct(struct ieee80211_hw *hw,
 
        /*task */
        tasklet_init(&rtlpriv->works.irq_tasklet,
-                    (void (*)(unsigned long))_rtl_pci_irq_tasklet,
+                    _rtl_pci_irq_tasklet,
                     (unsigned long)hw);
        tasklet_init(&rtlpriv->works.irq_prepare_bcn_tasklet,
-                    (void (*)(unsigned long))_rtl_pci_prepare_bcn_tasklet,
+                    _rtl_pci_prepare_bcn_tasklet,
                     (unsigned long)hw);
        INIT_WORK(&rtlpriv->works.lps_change_work,
                  rtl_lps_change_work_callback);