Message ID | 1250669302-11362-1-git-send-email-yi.zhu@intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wed, 2009-08-19 at 16:08 +0800, Zhu Yi wrote: > In case of connection failure, the bssid info is not a must have. > > Cc: Johannes Berg <johannes@sipsolutions.net> > Signed-off-by: Zhu Yi <yi.zhu@intel.com> > --- > V2: change a __cfg80211_connect_result() caller to used NULL instead of zero addr Thanks. Acked-by: Johannes Berg <johannes@sipsolutions.net> > net/wireless/core.c | 4 +++- > net/wireless/sme.c | 3 ++- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/net/wireless/core.c b/net/wireless/core.c > index e630648..8eddf98 100644 > --- a/net/wireless/core.c > +++ b/net/wireless/core.c > @@ -12,6 +12,7 @@ > #include <linux/debugfs.h> > #include <linux/notifier.h> > #include <linux/device.h> > +#include <linux/etherdevice.h> > #include <linux/rtnetlink.h> > #include <net/genetlink.h> > #include <net/cfg80211.h> > @@ -309,7 +310,8 @@ static void cfg80211_process_events(struct wireless_dev *wdev) > switch (ev->type) { > case EVENT_CONNECT_RESULT: > __cfg80211_connect_result( > - wdev->netdev, ev->cr.bssid, > + wdev->netdev, is_zero_ether_addr(ev->cr.bssid) ? > + NULL : ev->cr.bssid, > ev->cr.req_ie, ev->cr.req_ie_len, > ev->cr.resp_ie, ev->cr.resp_ie_len, > ev->cr.status, > diff --git a/net/wireless/sme.c b/net/wireless/sme.c > index 8e2ef54..dbd8211 100644 > --- a/net/wireless/sme.c > +++ b/net/wireless/sme.c > @@ -458,7 +458,8 @@ void cfg80211_connect_result(struct net_device *dev, const u8 *bssid, > return; > > ev->type = EVENT_CONNECT_RESULT; > - memcpy(ev->cr.bssid, bssid, ETH_ALEN); > + if (bssid) > + memcpy(ev->cr.bssid, bssid, ETH_ALEN); > ev->cr.req_ie = ((u8 *)ev) + sizeof(*ev); > ev->cr.req_ie_len = req_ie_len; > memcpy((void *)ev->cr.req_ie, req_ie, req_ie_len);
diff --git a/net/wireless/core.c b/net/wireless/core.c index e630648..8eddf98 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -12,6 +12,7 @@ #include <linux/debugfs.h> #include <linux/notifier.h> #include <linux/device.h> +#include <linux/etherdevice.h> #include <linux/rtnetlink.h> #include <net/genetlink.h> #include <net/cfg80211.h> @@ -309,7 +310,8 @@ static void cfg80211_process_events(struct wireless_dev *wdev) switch (ev->type) { case EVENT_CONNECT_RESULT: __cfg80211_connect_result( - wdev->netdev, ev->cr.bssid, + wdev->netdev, is_zero_ether_addr(ev->cr.bssid) ? + NULL : ev->cr.bssid, ev->cr.req_ie, ev->cr.req_ie_len, ev->cr.resp_ie, ev->cr.resp_ie_len, ev->cr.status, diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 8e2ef54..dbd8211 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -458,7 +458,8 @@ void cfg80211_connect_result(struct net_device *dev, const u8 *bssid, return; ev->type = EVENT_CONNECT_RESULT; - memcpy(ev->cr.bssid, bssid, ETH_ALEN); + if (bssid) + memcpy(ev->cr.bssid, bssid, ETH_ALEN); ev->cr.req_ie = ((u8 *)ev) + sizeof(*ev); ev->cr.req_ie_len = req_ie_len; memcpy((void *)ev->cr.req_ie, req_ie, req_ie_len);
In case of connection failure, the bssid info is not a must have. Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Zhu Yi <yi.zhu@intel.com> --- V2: change a __cfg80211_connect_result() caller to used NULL instead of zero addr net/wireless/core.c | 4 +++- net/wireless/sme.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-)