Search Linux Wireless

Re: [PATCH] mac80211 : Fixes the status message for iwconfig

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

 



On Fri, 2008-05-23 at 10:44 -0700, Abhijeet Kolekar wrote:
> On Fri, 2008-23-05 at 13:39 -0400, Dan Williams wrote:
> > On Fri, 2008-05-23 at 10:15 -0700, Abhijeet Kolekar wrote:
> > > iwconfig was showing incorrect status messages when disassociated.
> > > Patch fixes this by always checking for association status in 
> > > ioctl calls for getting ap address.
> > > 
> > > Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@xxxxxxxxx>
> > 
> > I may not remember correctly, but I think you need to also report the
> > BSSID being associated with during assoc & auth stages with WEXT.  So
> > the right check here is to return nothing if _disassocated_, but
> > otherwise return the BSSID that's currently pending or associated with. 
> > 
> > Dan
> One question though, Do we need to report similar things with essid or
> WEXT will always return the essid regardless of the state.

I lied; ignore me.  Patch is good.

Acked-by: Dan Williams <dcbw@xxxxxxxxxx>

> > 
> > > ---
> > >  net/mac80211/wext.c |   11 ++++++++---
> > >  1 files changed, 8 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
> > > index c2e2378..1a35562 100644
> > > --- a/net/mac80211/wext.c
> > > +++ b/net/mac80211/wext.c
> > > @@ -501,9 +501,14 @@ static int ieee80211_ioctl_giwap(struct net_device *dev,
> > >  	sdata = IEEE80211_DEV_TO_SUB_IF(dev);
> > >  	if (sdata->vif.type == IEEE80211_IF_TYPE_STA ||
> > >  	    sdata->vif.type == IEEE80211_IF_TYPE_IBSS) {
> > > -		ap_addr->sa_family = ARPHRD_ETHER;
> > > -		memcpy(&ap_addr->sa_data, sdata->u.sta.bssid, ETH_ALEN);
> > > -		return 0;
> > > +		if (sdata->u.sta.state == IEEE80211_ASSOCIATED) {
> > > +			ap_addr->sa_family = ARPHRD_ETHER;
> > > +			memcpy(&ap_addr->sa_data, sdata->u.sta.bssid, ETH_ALEN);
> > > +			return 0;
> > > +		} else {
> > > +			memset(&ap_addr->sa_data, 0, ETH_ALEN);
> > > +			return 0;
> > > +		}
> > >  	} else if (sdata->vif.type == IEEE80211_IF_TYPE_WDS) {
> > >  		ap_addr->sa_family = ARPHRD_ETHER;
> > >  		memcpy(&ap_addr->sa_data, sdata->u.wds.remote_addr, ETH_ALEN);
> > 
> --
> 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

--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux