wifi: ray_cs: remove one redundant del_timer
authorDongliang Mu <dzm91@hust.edu.cn>
Thu, 16 Mar 2023 13:32:35 +0000 (21:32 +0800)
committerKalle Valo <kvalo@kernel.org>
Sat, 27 May 2023 08:30:28 +0000 (11:30 +0300)
In ray_detach, it and its child function ray_release both call
del_timer(_sync) on the same timer.

Fix this by removing the del_timer_sync in the ray_detach, and revising
the del_timer to del_timer_sync.

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230316133236.556198-2-dzm91@hust.edu.cn
drivers/net/wireless/legacy/ray_cs.c

index 38782d4c4694aad4f7e2038a31c45ec2c8163f84..93eaf3dba6a93f99b55156ab6f3f25dffa7cca18 100644 (file)
@@ -328,7 +328,6 @@ err_free_dev:
 static void ray_detach(struct pcmcia_device *link)
 {
        struct net_device *dev;
-       ray_dev_t *local;
 
        dev_dbg(&link->dev, "ray_detach\n");
 
@@ -337,9 +336,6 @@ static void ray_detach(struct pcmcia_device *link)
 
        ray_release(link);
 
-       local = netdev_priv(dev);
-       del_timer_sync(&local->timer);
-
        if (link->priv) {
                unregister_netdev(dev);
                free_netdev(dev);
@@ -740,7 +736,7 @@ static void ray_release(struct pcmcia_device *link)
 
        dev_dbg(&link->dev, "ray_release\n");
 
-       del_timer(&local->timer);
+       del_timer_sync(&local->timer);
 
        iounmap(local->sram);
        iounmap(local->rmem);