Search Linux Wireless

Re: [PATCH] ath10k: refactor monitor code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> writes:

> Michal Kazior <michal.kazior@xxxxxxxxx> writes:
>
>> It was possible to create/delete/start/stop
>> monitor vdev from a few places that were not
>> exclusively protected against each other. This
>> resulted in monitor vdev being stopped/removed by
>> one call origin while another one was expecting it
>> to continue running.
>>
>> For example if CAC was started and interface's
>> promiscuous mode was toggled monitor vdev was
>> removed from the driver meaning no radar would be
>> detected. In additional a warning would be printed
>> upon CAC completion complaining it tried to stop
>> non-running monitor vdev.
>>
>> The patch simplifies monitor code by removing
>> IEEE80211_HW_WANT_MONITOR_VIF (which wasn't really
>> ever needed) and improves state tracking. It also
>> unifies prints.
>>
>> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx>
>
> Thanks, applied.

Actually there were two checkpatch warnings which I had missed:

drivers/net/wireless/ath/ath10k/mac.c:2587: WARNING: line over 80 characters
drivers/net/wireless/ath/ath10k/mac.c:2852: WARNING: line over 80 characters

I amended it like this:

--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -2584,7 +2584,8 @@ static int ath10k_config(struct ieee80211_hw *hw, u32 changed)
                        ar->monitor = true;
                        ret = ath10k_monitor_start(ar);
                        if (ret) {
-                               ath10k_warn("failed to start monitor (config): %d\n", ret);
+                               ath10k_warn("failed to start monitor (config): %d\n",
+                                           ret);
                                ar->monitor = false;
                        }
                } else if (!(conf->flags & IEEE80211_CONF_MONITOR) &&
@@ -2849,7 +2850,8 @@ static void ath10k_configure_filter(struct ieee80211_hw *hw,
                ar->promisc = true;
                ret = ath10k_monitor_start(ar);
                if (ret) {
-                       ath10k_warn("failed to start monitor (promisc): %d\n", ret);
+                       ath10k_warn("failed to start monitor (promisc): %d\n",
+                                   ret);
                        ar->promisc = false;
                }
        } else if (!(ar->filter_flags & FIF_PROMISC_IN_BSS) && ar->promisc) {

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux