aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/wext.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2007-12-13 00:32:36 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:07:07 -0500
commit860621347e88b23517fc4ec93fa5af940401c3ec (patch)
tree059223640a79bfe60f0dd9fe3c15d5656cac740a /drivers/net/wireless/libertas/wext.c
parent020f3d0001cb249ceae623c1a7ae0c196326ef3f (diff)
libertas: pass channel argument directly to lbs_mesh_config()
There is weirdness here; the firmware seems to refuse to change channels at will. Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/wext.c')
-rw-r--r--drivers/net/wireless/libertas/wext.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c
index 262d4cc58046..b1e24723f2f9 100644
--- a/drivers/net/wireless/libertas/wext.c
+++ b/drivers/net/wireless/libertas/wext.c
@@ -1000,9 +1000,8 @@ static int lbs_mesh_set_freq(struct net_device *dev,
1000 else if (priv->mode == IW_MODE_ADHOC) 1000 else if (priv->mode == IW_MODE_ADHOC)
1001 lbs_stop_adhoc_network(priv); 1001 lbs_stop_adhoc_network(priv);
1002 } 1002 }
1003 priv->curbssparams.channel = fwrq->m; 1003 lbs_mesh_config(priv, 1, fwrq->m);
1004 lbs_mesh_config(priv, 0); 1004 lbs_update_channel(priv);
1005 lbs_mesh_config(priv, 1);
1006 ret = 0; 1005 ret = 0;
1007 1006
1008out: 1007out:
@@ -2010,7 +2009,7 @@ static int lbs_mesh_set_essid(struct net_device *dev,
2010 priv->mesh_ssid_len = dwrq->length; 2009 priv->mesh_ssid_len = dwrq->length;
2011 } 2010 }
2012 2011
2013 lbs_mesh_config(priv, 1); 2012 lbs_mesh_config(priv, 1, priv->curbssparams.channel);
2014 out: 2013 out:
2015 lbs_deb_leave_args(LBS_DEB_WEXT, "ret %d", ret); 2014 lbs_deb_leave_args(LBS_DEB_WEXT, "ret %d", ret);
2016 return ret; 2015 return ret;