diff options
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
-rw-r--r-- | drivers/net/wireless/libertas/main.c | 13 |
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) { |