hostap: Remove in_atomic() check.
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Sun, 1 Nov 2020 21:15:33 +0000 (22:15 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 7 Nov 2020 15:52:22 +0000 (17:52 +0200)
hostap_get_wireless_stats() is the iw_handler_if::get_wireless_stats()
callback of this driver. This callback was not allowed to sleep until
commit a160ee69c6a46 ("wext: let get_wireless_stats() sleep") in v2.6.32.

Remove the therefore pointless in_atomic() check.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Jouni Malinen <j@w1.fi>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201101211536.2966644-6-bigeasy@linutronix.de
drivers/net/wireless/intersil/hostap/hostap_ioctl.c

index 514c7b0..49766b2 100644 (file)
@@ -44,19 +44,8 @@ static struct iw_statistics *hostap_get_wireless_stats(struct net_device *dev)
 
        if (local->iw_mode != IW_MODE_MASTER &&
            local->iw_mode != IW_MODE_REPEAT) {
-               int update = 1;
-#ifdef in_atomic
-               /* RID reading might sleep and it must not be called in
-                * interrupt context or while atomic. However, this
-                * function seems to be called while atomic (at least in Linux
-                * 2.5.59). Update signal quality values only if in suitable
-                * context. Otherwise, previous values read from tick timer
-                * will be used. */
-               if (in_atomic())
-                       update = 0;
-#endif /* in_atomic */
-
-               if (update && prism2_update_comms_qual(dev) == 0)
+
+               if (prism2_update_comms_qual(dev) == 0)
                        wstats->qual.updated = IW_QUAL_ALL_UPDATED |
                                IW_QUAL_DBM;