* [PATCH] WE-21 for bcm43xx (wireless-2.6 git)
@ 2006-08-31 0:57 Larry Finger
2006-08-31 12:52 ` Michael Buesch
0 siblings, 1 reply; 5+ messages in thread
From: Larry Finger @ 2006-08-31 0:57 UTC (permalink / raw)
To: John Linville
Cc: Jean Tourrilhes, netdev-u79uwXL29TY76Z2rM5mHXA,
Bcm43xx-dev-0fE9KPoRgkgATYTw5x5z8w, Michael Buesch,
Stefano Brivio
John,
Please apply Jean's patch to wireless-2.6. It should apply cleanly to the version you pushed earlier
today (8/30). I have compiled and tested. For complete operation with WE-21, it also needs the patch
entitled [PATCH 2.6.18] WE-21 support (core API) at
(http://www.spinics.net/lists/netdev/msg13599.html). It works without that second patch, just at WE-20.
Thanks,
Larry
-------------------
Patch to update bcm43xx-SoftMAC for WE-21.
Signed-off-by: Jean Tourrilhes <jt-sDzT885Ts8HQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Michael Buesch <mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org>
Signed-off-by: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
-------------------------------------------------------------
diff -u a/net/ieee80211/softmac/ieee80211softmac_wx.c b/net/ieee80211/softmac/ieee80211softmac_wx.c
--- a/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-08-29 14:45:56.000000000 -0700
+++ b/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-08-30 14:56:35.000000000 -0700
@@ -63,6 +63,12 @@ ieee80211softmac_wx_get_scan_results(str
}
EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_scan_results);
+#if WIRELESS_EXT > 20
+#define IW_ESSID_FIX 0
+#else
+#define IW_ESSID_FIX 1
+#endif
+
int
ieee80211softmac_wx_set_essid(struct net_device *net_dev,
struct iw_request_info *info,
@@ -80,10 +86,10 @@ ieee80211softmac_wx_set_essid(struct net
* If it's our network, ignore the change, we're already doing it!
*/
if((sm->associnfo.associating || sm->associated) &&
- (data->essid.flags && data->essid.length && extra)) {
+ (data->essid.flags && data->essid.length)) {
/* Get the associating network */
n = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid);
- if(n && n->essid.len == (data->essid.length - 1) &&
+ if(n && n->essid.len == (data->essid.length - IW_ESSID_FIX) &&
!memcmp(n->essid.data, extra, n->essid.len)) {
dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n",
MAC_ARG(sm->associnfo.bssid));
@@ -109,8 +115,8 @@ ieee80211softmac_wx_set_essid(struct net
sm->associnfo.static_essid = 0;
sm->associnfo.assoc_wait = 0;
- if (data->essid.flags && data->essid.length && extra /*required?*/) {
- length = min(data->essid.length - 1, IW_ESSID_MAX_SIZE);
+ if (data->essid.flags && data->essid.length) {
+ length = min((int) data->essid.length - IW_ESSID_FIX, IW_ESSID_MAX_SIZE);
if (length) {
memcpy(sm->associnfo.req_essid.data, extra, length);
sm->associnfo.static_essid = 1;
diff -u a/drivers/net/wireless/bcm43xx/bcm43xx_wx.c b/drivers/net/wireless/bcm43xx/bcm43xx_wx.c
--- a/drivers/net/wireless/bcm43xx/bcm43xx_wx.c 2006-08-29 14:46:08.000000000 -0700
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_wx.c 2006-08-30 14:57:31.000000000 -0700
@@ -334,7 +334,11 @@ static int bcm43xx_wx_get_nick(struct ne
size_t len;
mutex_lock(&bcm->mutex);
+#if WIRELESS_EXT > 20
+ len = strlen(bcm->nick);
+#else
len = strlen(bcm->nick) + 1;
+#endif
memcpy(extra, bcm->nick, len);
data->data.length = (__u16)len;
data->data.flags = 1;
=======
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] WE-21 for bcm43xx (wireless-2.6 git)
2006-08-31 0:57 [PATCH] WE-21 for bcm43xx (wireless-2.6 git) Larry Finger
@ 2006-08-31 12:52 ` Michael Buesch
2006-08-31 13:22 ` Larry Finger
0 siblings, 1 reply; 5+ messages in thread
From: Michael Buesch @ 2006-08-31 12:52 UTC (permalink / raw)
To: Larry Finger, John Linville, netdev, Bcm43xx-dev, Jean Tourrilhes,
Stefano Brivio
On Thursday 31 August 2006 02:57, Larry Finger wrote:
> John,
>
> Please apply Jean's patch to wireless-2.6. It should apply cleanly to the version you pushed earlier
> today (8/30). I have compiled and tested. For complete operation with WE-21, it also needs the patch
> entitled [PATCH 2.6.18] WE-21 support (core API) at
> (http://www.spinics.net/lists/netdev/msg13599.html). It works without that second patch, just at WE-20.
>
> Thanks,
>
> Larry
>
> -------------------
>
> Patch to update bcm43xx-SoftMAC for WE-21.
>
> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
> Signed-off-by: Michael Buesch <mb@bu3sch.de>
> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
>
> -------------------------------------------------------------
>
> diff -u a/net/ieee80211/softmac/ieee80211softmac_wx.c b/net/ieee80211/softmac/ieee80211softmac_wx.c
> --- a/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-08-29 14:45:56.000000000 -0700
> +++ b/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-08-30 14:56:35.000000000 -0700
> @@ -63,6 +63,12 @@ ieee80211softmac_wx_get_scan_results(str
> }
> EXPORT_SYMBOL_GPL(ieee80211softmac_wx_get_scan_results);
>
> +#if WIRELESS_EXT > 20
> +#define IW_ESSID_FIX 0
> +#else
> +#define IW_ESSID_FIX 1
> +#endif
Eh, was this useless #if in the original patch I signed-off, too?
Because I want to revert my sign-off. :)
This #if is useless, because we always deal with only one single
WE version in the kernel. #if WIRELESS_EXT will always be true.
So remove this and also remove the other #if below.
> int
> ieee80211softmac_wx_set_essid(struct net_device *net_dev,
> struct iw_request_info *info,
> @@ -80,10 +86,10 @@ ieee80211softmac_wx_set_essid(struct net
> * If it's our network, ignore the change, we're already doing it!
> */
> if((sm->associnfo.associating || sm->associated) &&
> - (data->essid.flags && data->essid.length && extra)) {
> + (data->essid.flags && data->essid.length)) {
> /* Get the associating network */
> n = ieee80211softmac_get_network_by_bssid(sm, sm->associnfo.bssid);
> - if(n && n->essid.len == (data->essid.length - 1) &&
> + if(n && n->essid.len == (data->essid.length - IW_ESSID_FIX) &&
> !memcmp(n->essid.data, extra, n->essid.len)) {
> dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n",
> MAC_ARG(sm->associnfo.bssid));
> @@ -109,8 +115,8 @@ ieee80211softmac_wx_set_essid(struct net
> sm->associnfo.static_essid = 0;
> sm->associnfo.assoc_wait = 0;
>
> - if (data->essid.flags && data->essid.length && extra /*required?*/) {
> - length = min(data->essid.length - 1, IW_ESSID_MAX_SIZE);
> + if (data->essid.flags && data->essid.length) {
> + length = min((int) data->essid.length - IW_ESSID_FIX, IW_ESSID_MAX_SIZE);
> if (length) {
> memcpy(sm->associnfo.req_essid.data, extra, length);
> sm->associnfo.static_essid = 1;
> diff -u a/drivers/net/wireless/bcm43xx/bcm43xx_wx.c b/drivers/net/wireless/bcm43xx/bcm43xx_wx.c
> --- a/drivers/net/wireless/bcm43xx/bcm43xx_wx.c 2006-08-29 14:46:08.000000000 -0700
> +++ b/drivers/net/wireless/bcm43xx/bcm43xx_wx.c 2006-08-30 14:57:31.000000000 -0700
> @@ -334,7 +334,11 @@ static int bcm43xx_wx_get_nick(struct ne
> size_t len;
>
> mutex_lock(&bcm->mutex);
> +#if WIRELESS_EXT > 20
> + len = strlen(bcm->nick);
> +#else
> len = strlen(bcm->nick) + 1;
> +#endif
> memcpy(extra, bcm->nick, len);
> data->data.length = (__u16)len;
> data->data.flags = 1;
>
> =======
>
>
--
Greetings Michael.
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] WE-21 for bcm43xx (wireless-2.6 git)
2006-08-31 12:52 ` Michael Buesch
@ 2006-08-31 13:22 ` Larry Finger
[not found] ` <44F6E28E.2080807-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Larry Finger @ 2006-08-31 13:22 UTC (permalink / raw)
To: Michael Buesch
Cc: John Linville, netdev, Bcm43xx-dev, Jean Tourrilhes,
Stefano Brivio
Michael Buesch wrote:
> On Thursday 31 August 2006 02:57, Larry Finger wrote:
>>
>> +#if WIRELESS_EXT > 20
>> +#define IW_ESSID_FIX 0
>> +#else
>> +#define IW_ESSID_FIX 1
>> +#endif
>
> Eh, was this useless #if in the original patch I signed-off, too?
> Because I want to revert my sign-off. :)
> This #if is useless, because we always deal with only one single
> WE version in the kernel. #if WIRELESS_EXT will always be true.
> So remove this and also remove the other #if below.
>
Yes, it was. I saw this, but left it in because I cannot control the inclusion of the other patch
that brings the NET components up to WE-21, and it seemed that the behavior could be wrong if the
kernel were at WE-20. I'm quite certain that the patch will _NOT_ be included in 2.6.18 as it is
clearly not a bug fix. Once I see WE-21 in the kernel, I'll remove these #ifdef's and eliminate
IW_ESSID_FIX.
If I missed something, please let me know, and I'll resubmit the patch now.
John, have you merged, or do you plan to merge, "[PATCH 2.6.18] WE-21 support (core API)" into
wireless-2.6?
Larry
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-08-31 16:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-31 0:57 [PATCH] WE-21 for bcm43xx (wireless-2.6 git) Larry Finger
2006-08-31 12:52 ` Michael Buesch
2006-08-31 13:22 ` Larry Finger
[not found] ` <44F6E28E.2080807-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2006-08-31 13:57 ` John W. Linville
2006-08-31 16:44 ` Jean Tourrilhes
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).