OSDN Git Service

rtlwifi: rtl_pci: Fix -Wcast-function-type
authorPhong Tran <tranmanphong@gmail.com>
Tue, 26 Nov 2019 17:55:29 +0000 (00:55 +0700)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 18 Dec 2019 18:54:44 +0000 (20:54 +0200)
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>
drivers/net/wireless/realtek/rtlwifi/pci.c

index f88d265..25335bd 100644 (file)
@@ -1061,13 +1061,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));
@@ -1193,10 +1195,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);