diff options
Diffstat (limited to 'drivers/net/wireless/libertas/cmd.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmd.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index 2228feccb24..01d23493b4e 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c | |||
@@ -1093,6 +1093,23 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action, | |||
1093 | } | 1093 | } |
1094 | EXPORT_SYMBOL_GPL(lbs_mesh_access); | 1094 | EXPORT_SYMBOL_GPL(lbs_mesh_access); |
1095 | 1095 | ||
1096 | int lbs_mesh_config(struct lbs_private *priv, int enable) | ||
1097 | { | ||
1098 | struct cmd_ds_mesh_config cmd; | ||
1099 | |||
1100 | memset(&cmd, 0, sizeof(cmd)); | ||
1101 | cmd.action = cpu_to_le16(enable); | ||
1102 | cmd.channel = cpu_to_le16(priv->curbssparams.channel); | ||
1103 | cmd.type = cpu_to_le16(0x100 + 37); | ||
1104 | |||
1105 | if (enable) { | ||
1106 | cmd.length = cpu_to_le16(priv->mesh_ssid_len); | ||
1107 | memcpy(cmd.data, priv->mesh_ssid, priv->mesh_ssid_len); | ||
1108 | } | ||
1109 | |||
1110 | return lbs_cmd_with_response(priv, CMD_MESH_CONFIG, cmd); | ||
1111 | } | ||
1112 | |||
1096 | static int lbs_cmd_bcn_ctrl(struct lbs_private * priv, | 1113 | static int lbs_cmd_bcn_ctrl(struct lbs_private * priv, |
1097 | struct cmd_ds_command *cmd, | 1114 | struct cmd_ds_command *cmd, |
1098 | u16 cmd_action) | 1115 | u16 cmd_action) |