Message ID | 1524857196-29399-1-git-send-email-peter.oh@bowerswilkins.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Johannes Berg |
Headers | show |
On Fri, 2018-04-27 at 12:26 -0700, peter.oh@bowerswilkins.com wrote: > From: Peter Oh <peter.oh@bowerswilkins.com> > > There is no meaning to call ieee80211_mesh_process_chnswitch > without CSA IE provided, since the function will always return error. I'm not convinced, an extended channel switch element might be present instead? johannes
On 05/07/2018 12:44 PM, Johannes Berg wrote: > On Fri, 2018-04-27 at 12:26 -0700, peter.oh@bowerswilkins.com wrote: >> From: Peter Oh <peter.oh@bowerswilkins.com> >> >> There is no meaning to call ieee80211_mesh_process_chnswitch >> without CSA IE provided, since the function will always return error. > I'm not convinced, an extended channel switch element might be present > instead? I expected the comment. Yes, extended channel switch element could be present instead of channel switch element which I missed to take care of. So you can ignore the patch for now and I'll get back with right patch for it. Thanks, Peter
On Mon, 2018-05-07 at 13:04 -0700, Peter Oh wrote: > > On 05/07/2018 12:44 PM, Johannes Berg wrote: > > On Fri, 2018-04-27 at 12:26 -0700, peter.oh@bowerswilkins.com wrote: > > > From: Peter Oh <peter.oh@bowerswilkins.com> > > > > > > There is no meaning to call ieee80211_mesh_process_chnswitch > > > without CSA IE provided, since the function will always return error. > > > > I'm not convinced, an extended channel switch element might be present > > instead? > > I expected the comment. Yes, extended channel switch element could be > present instead of channel switch element which I missed to take care > of. So you can ignore the patch for now and I'll get back with right > patch for it. Heh. Well, but then why bother at all? I mean, the inner function will do the check and fail, and nothing will happen, so why bother? johannes
On 05/07/2018 01:06 PM, Johannes Berg wrote: > On Mon, 2018-05-07 at 13:04 -0700, Peter Oh wrote: >> On 05/07/2018 12:44 PM, Johannes Berg wrote: >>> On Fri, 2018-04-27 at 12:26 -0700, peter.oh@bowerswilkins.com wrote: >>>> From: Peter Oh <peter.oh@bowerswilkins.com> >>>> >>>> There is no meaning to call ieee80211_mesh_process_chnswitch >>>> without CSA IE provided, since the function will always return error. >>> I'm not convinced, an extended channel switch element might be present >>> instead? >> I expected the comment. Yes, extended channel switch element could be >> present instead of channel switch element which I missed to take care >> of. So you can ignore the patch for now and I'll get back with right >> patch for it. > Heh. Well, but then why bother at all? I mean, the inner function will > do the check and fail, and nothing will happen, so why bother? > My real concern is that ieee80211_mesh_process_chnswitch function could process at certain level of channel switch procedure although mesh channel switch parameter element is not given which is mandatory of CSA for mesh. However the reason I didn't use mesh_chansw_params_ie to check is because even though it is correct for standard, I'm not sure if it's practically right. IMPO, sending CSA means devices (ap or mesh) detected radar, so the ultimate goal to achieve is to evacuate the channel although there is something missed in frames. Peter
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index d51da26e9c18..8ced757dff8d 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c @@ -1196,7 +1196,7 @@ static void ieee80211_mesh_rx_bcn_presp(struct ieee80211_sub_if_data *sdata, stype, mgmt, &elems, rx_status); if (ifmsh->csa_role != IEEE80211_MESH_CSA_ROLE_INIT && - !sdata->vif.csa_active) + !sdata->vif.csa_active && elems.ch_switch_ie) ieee80211_mesh_process_chnswitch(sdata, &elems, true); }