aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
-rw-r--r--drivers/net/wireless/libertas/main.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index a87febad8c29..01299c8ed27c 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -344,14 +344,15 @@ static ssize_t lbs_mesh_set(struct device *dev,
344{ 344{
345 struct lbs_private *priv = to_net_dev(dev)->priv; 345 struct lbs_private *priv = to_net_dev(dev)->priv;
346 int enable; 346 int enable;
347 int ret; 347 int ret, action = CMD_ACT_MESH_CONFIG_STOP;
348 348
349 sscanf(buf, "%x", &enable); 349 sscanf(buf, "%x", &enable);
350 enable = !!enable; 350 enable = !!enable;
351 if (enable == !!priv->mesh_dev) 351 if (enable == !!priv->mesh_dev)
352 return count; 352 return count;
353 353 if (enable)
354 ret = lbs_mesh_config(priv, enable, priv->curbssparams.channel); 354 action = CMD_ACT_MESH_CONFIG_START;
355 ret = lbs_mesh_config(priv, action, priv->curbssparams.channel);
355 if (ret) 356 if (ret)
356 return ret; 357 return ret;
357 358
@@ -1257,9 +1258,11 @@ int lbs_start_card(struct lbs_private *priv)
1257 useful */ 1258 useful */
1258 1259
1259 priv->mesh_tlv = 0x100 + 291; 1260 priv->mesh_tlv = 0x100 + 291;
1260 if (lbs_mesh_config(priv, 1, priv->curbssparams.channel)) { 1261 if (lbs_mesh_config(priv, CMD_ACT_MESH_CONFIG_START,
1262 priv->curbssparams.channel)) {
1261 priv->mesh_tlv = 0x100 + 37; 1263 priv->mesh_tlv = 0x100 + 37;
1262 if (lbs_mesh_config(priv, 1, priv->curbssparams.channel)) 1264 if (lbs_mesh_config(priv, CMD_ACT_MESH_CONFIG_START,
1265 priv->curbssparams.channel))
1263 priv->mesh_tlv = 0; 1266 priv->mesh_tlv = 0;
1264 } 1267 }
1265 if (priv->mesh_tlv) { 1268 if (priv->mesh_tlv) {