________________________________________ 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