Search Linux Wireless

RE: [PATCH v3] cfg80211: check for carrier state only when offchanel CAC supported

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

 



________________________________________
From: Johannes Berg [johannes@xxxxxxxxxxxxxxxx]
Sent: Monday, January 05, 2015 6:27 PM
To: Avinash Patil
Cc: linux-wireless@xxxxxxxxxxxxxxx; Amitkumar Karwar; Cathy Luo
Subject: Re: [PATCH v3] cfg80211: check for carrier state only when offchanel CAC supported

On Mon, 2015-01-05 at 22:03 +0530, Avinash Patil wrote:
> Checking for carrier state during start_radar_detection is needed
> only for devices which support offchannel CAC.
> This patch provides this additional check of extended feature offchannel
> CAC support while checking for carrier state.
>
> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx>
> ---
>  include/uapi/linux/nl80211.h | 3 +++
>  net/wireless/nl80211.c       | 4 +++-
>  2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
> index 735ab43..c318802 100644
> --- a/include/uapi/linux/nl80211.h
> +++ b/include/uapi/linux/nl80211.h
> @@ -4205,10 +4205,13 @@ enum nl80211_feature_flags {
>  /**
>   * enum nl80211_ext_feature_index - bit index of extended features.
>   *
> + * @NL80211_EXT_FEATURE_OFFCHAN_CAC: This device/driver supports
> + *   offchannel Channel Availability Check(CAC).
>   * @NUM_NL80211_EXT_FEATURES: number of extended features.
>   * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
>   */
>  enum nl80211_ext_feature_index {
> +     NL80211_EXT_FEATURE_OFFCHAN_CAC,
>
>       /* add new features before the definition below */
>       NUM_NL80211_EXT_FEATURES,
> diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
> index 39753de..b2abb37 100644
> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -6138,7 +6138,9 @@ static int nl80211_start_radar_detection(struct sk_buff *skb,
>       if (err)
>               return err;
>
> -     if (netif_carrier_ok(dev))
> +     if (wiphy_ext_feature_isset(&rdev->wiphy,
> +                                 NL80211_EXT_FEATURE_OFFCHAN_CAC) &&
> +         netif_carrier_ok(dev))
>               return -EBUSY;

>Wait - doesn't that have to be !feature_isset()?

>johannes

If Offchannel CAC is supported (driver has set this bit in wiphy's extended features) & carrier is ON, return EBUSY as offchannel CAC may be ongoing, isnt it?
I am confused ..

-Avinash. 

--
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