]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ipw2x00: Fix -Wcast-function-type
authorPhong Tran <tranmanphong@gmail.com>
Tue, 26 Nov 2019 17:55:27 +0000 (00:55 +0700)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Tue, 7 Apr 2020 08:50:01 +0000 (10:50 +0200)
BugLink: https://bugs.launchpad.net/bugs/1867837
[ Upstream commit ebd77feb27e91bb5fe35a7818b7c13ea7435fb98 ]

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>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/wireless/intel/ipw2x00/ipw2100.c
drivers/net/wireless/intel/ipw2x00/ipw2200.c

index 19c442cb93e4af2b50e72fe1c7b972cd0827c2f6..8fbdd7d4fd0c295406e63af57c2d2f036e109d1f 100644 (file)
@@ -3220,8 +3220,9 @@ static void ipw2100_tx_send_data(struct ipw2100_priv *priv)
        }
 }
 
-static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
+static void ipw2100_irq_tasklet(unsigned long data)
 {
+       struct ipw2100_priv *priv = (struct ipw2100_priv *)data;
        struct net_device *dev = priv->net_dev;
        unsigned long flags;
        u32 inta, tmp;
@@ -6027,7 +6028,7 @@ static void ipw2100_rf_kill(struct work_struct *work)
        spin_unlock_irqrestore(&priv->low_lock, flags);
 }
 
-static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
+static void ipw2100_irq_tasklet(unsigned long data);
 
 static const struct net_device_ops ipw2100_netdev_ops = {
        .ndo_open               = ipw2100_open,
@@ -6157,7 +6158,7 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
        INIT_DELAYED_WORK(&priv->rf_kill, ipw2100_rf_kill);
        INIT_DELAYED_WORK(&priv->scan_event, ipw2100_scan_event);
 
-       tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long))
+       tasklet_init(&priv->irq_tasklet,
                     ipw2100_irq_tasklet, (unsigned long)priv);
 
        /* NOTE:  We do not start the deferred work for status checks yet */
index 8da87496cb587f2ed92977649c6c31d12f1f32e8..2d0734ab3f747de9618fdc5009833664b256fec9 100644 (file)
@@ -1966,8 +1966,9 @@ static void notify_wx_assoc_event(struct ipw_priv *priv)
        wireless_send_event(priv->net_dev, SIOCGIWAP, &wrqu, NULL);
 }
 
-static void ipw_irq_tasklet(struct ipw_priv *priv)
+static void ipw_irq_tasklet(unsigned long data)
 {
+       struct ipw_priv *priv = (struct ipw_priv *)data;
        u32 inta, inta_mask, handled = 0;
        unsigned long flags;
        int rc = 0;
@@ -10702,7 +10703,7 @@ static int ipw_setup_deferred_work(struct ipw_priv *priv)
        INIT_WORK(&priv->qos_activate, ipw_bg_qos_activate);
 #endif                         /* CONFIG_IPW2200_QOS */
 
-       tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long))
+       tasklet_init(&priv->irq_tasklet,
                     ipw_irq_tasklet, (unsigned long)priv);
 
        return ret;