On Mon, Sep 8, 2008 at 5:55 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Mon, 2008-09-08 at 16:31 +0300, Tomas Winkler wrote: >> From: Ester Kummer <ester.kummer@xxxxxxxxx> >> >> This patch handle scanning on IBSS mode like on STA mode. >> When queuing the scan work we don't refer to the return value of >> ieee80211_sta_start_scan so if we are in the last scan period, we will >> return 0 to ieee80211_ioctl_siwscan and not -EAGAIN, and then iwlist will >> call ieee80211_ioctl_giwscan to get the scan results and will not fail. > > > Can you explain why? Or can anybody else explain why we do this > difference at all? And how should mesh behave? > >> Signed-off-by: Ester Kummer <ester.kummer@xxxxxxxxx> >> Acked-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> >> --- >> net/mac80211/mlme.c | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c >> index 2564553..72d5fe2 100644 >> --- a/net/mac80211/mlme.c >> +++ b/net/mac80211/mlme.c >> @@ -4090,7 +4090,8 @@ int ieee80211_sta_req_scan(struct ieee80211_sub_if_data *sdata, u8 *ssid, size_t >> struct ieee80211_if_sta *ifsta = &sdata->u.sta; >> struct ieee80211_local *local = sdata->local; >> >> - if (sdata->vif.type != IEEE80211_IF_TYPE_STA) >> + if (sdata->vif.type != IEEE80211_IF_TYPE_STA || >> + sdata->vif.type != IEEE80211_IF_TYPE_IBSS) >> return ieee80211_sta_start_scan(sdata, ssid, ssid_len); > > This is wrong. > > a != 1 || a != 2 > > has to be true at all times, I think you mean &&. It definitely should be &&. Copied it wrongly from the original patch. Tomas -- 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