Subject: [RFC PATCH] bcm43xx: set channel when the interface is brought up

From: Pavel Roskin <proski-mXXj517/[email-masked]>
Date: Thu, 25 Jan 2007 01:50:54 -0500

Hello!

I have discovered that while I can indeed associate without
wpa_supplicant using bcm43xx_d80211 driver, I have to set the channel
every time the interface is brought down and up.

It turns out d80211 uses the "config" method of the hardware drivers
very sparingly.  It's only used for scanning and in ioctl commands.  It
is not called after the interface has been brought up with the "open"
method.

I don't know whose responsibility it should be to apply the
configuration when the interface is brought up.  I'm not familiar with
d80211 design principles.

If the hardware drivers are supposed to do it, here's my patch.  It is
working fine for me and ready to be applied.  The changelog is in the
subject.

Signed-off-by: Pavel Roskin <proski-mXXj517/[email-masked]>
---

 drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
index 9f4d51d..d408e38 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
@@ -2809,6 +2809,9 @@ static int bcm43xx_dev_open(struct ieee80211_hw *hw)
 	}
 	mutex_unlock(&wl->mutex);
 
+	if (!err)
+		err = bcm43xx_dev_config(hw, &hw->conf);
+
 	return err;
 }

-- 
Regards,
Pavel Roskin