linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2] cfg80211: allow cfg80211_connect_result with bssid == NULL
@ 2009-08-19  8:08 Zhu Yi
  2009-08-19  8:12 ` Johannes Berg
  0 siblings, 1 reply; 2+ messages in thread
From: Zhu Yi @ 2009-08-19  8:08 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, Zhu Yi, Johannes Berg

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(-)

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);
-- 
1.6.0.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH V2] cfg80211: allow cfg80211_connect_result with bssid == NULL
  2009-08-19  8:08 [PATCH V2] cfg80211: allow cfg80211_connect_result with bssid == NULL Zhu Yi
@ 2009-08-19  8:12 ` Johannes Berg
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2009-08-19  8:12 UTC (permalink / raw)
  To: Zhu Yi; +Cc: linville, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 1848 bytes --]

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);


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-19  8:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-19  8:08 [PATCH V2] cfg80211: allow cfg80211_connect_result with bssid == NULL Zhu Yi
2009-08-19  8:12 ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).