diff options
author | David S. Miller <davem@davemloft.net> | 2009-12-25 19:34:56 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-25 19:34:56 -0500 |
commit | d346f49d0badd80aa9fc699fa9c6d5b23e778eb6 (patch) | |
tree | 9e9698ffe7966fbe7ce924a30843f87cdfa2646e /drivers/net/wireless/libertas/cmd.c | |
parent | d87fd25d5ac4cd044e21b749a8f6cac90f093c71 (diff) | |
parent | b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'drivers/net/wireless/libertas/cmd.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmd.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c index 42611bea76a3..82371ef39524 100644 --- a/drivers/net/wireless/libertas/cmd.c +++ b/drivers/net/wireless/libertas/cmd.c | |||
@@ -143,19 +143,6 @@ int lbs_update_hw_spec(struct lbs_private *priv) | |||
143 | lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n", | 143 | lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n", |
144 | cmd.hwifversion, cmd.version); | 144 | cmd.hwifversion, cmd.version); |
145 | 145 | ||
146 | /* Determine mesh_fw_ver from fwrelease and fwcapinfo */ | ||
147 | /* 5.0.16p0 9.0.0.p0 is known to NOT support any mesh */ | ||
148 | /* 5.110.22 have mesh command with 0xa3 command id */ | ||
149 | /* 10.0.0.p0 FW brings in mesh config command with different id */ | ||
150 | /* Check FW version MSB and initialize mesh_fw_ver */ | ||
151 | if (MRVL_FW_MAJOR_REV(priv->fwrelease) == MRVL_FW_V5) | ||
152 | priv->mesh_fw_ver = MESH_FW_OLD; | ||
153 | else if ((MRVL_FW_MAJOR_REV(priv->fwrelease) >= MRVL_FW_V10) && | ||
154 | (priv->fwcapinfo & MESH_CAPINFO_ENABLE_MASK)) | ||
155 | priv->mesh_fw_ver = MESH_FW_NEW; | ||
156 | else | ||
157 | priv->mesh_fw_ver = MESH_NONE; | ||
158 | |||
159 | /* Clamp region code to 8-bit since FW spec indicates that it should | 146 | /* Clamp region code to 8-bit since FW spec indicates that it should |
160 | * only ever be 8-bit, even though the field size is 16-bit. Some firmware | 147 | * only ever be 8-bit, even though the field size is 16-bit. Some firmware |
161 | * returns non-zero high 8 bits here. | 148 | * returns non-zero high 8 bits here. |
@@ -855,9 +842,6 @@ int lbs_set_radio(struct lbs_private *priv, u8 preamble, u8 radio_on) | |||
855 | if (priv->fwrelease < 0x09000000) { | 842 | if (priv->fwrelease < 0x09000000) { |
856 | switch (preamble) { | 843 | switch (preamble) { |
857 | case RADIO_PREAMBLE_SHORT: | 844 | case RADIO_PREAMBLE_SHORT: |
858 | if (!(priv->capability & WLAN_CAPABILITY_SHORT_PREAMBLE)) | ||
859 | goto out; | ||
860 | /* Fall through */ | ||
861 | case RADIO_PREAMBLE_AUTO: | 845 | case RADIO_PREAMBLE_AUTO: |
862 | case RADIO_PREAMBLE_LONG: | 846 | case RADIO_PREAMBLE_LONG: |
863 | cmd.control = cpu_to_le16(preamble); | 847 | cmd.control = cpu_to_le16(preamble); |
@@ -1011,6 +995,8 @@ int lbs_prepare_and_send_command(struct lbs_private *priv, | |||
1011 | ret = 0; | 995 | ret = 0; |
1012 | break; | 996 | break; |
1013 | 997 | ||
998 | #ifdef CONFIG_LIBERTAS_MESH | ||
999 | |||
1014 | case CMD_BT_ACCESS: | 1000 | case CMD_BT_ACCESS: |
1015 | ret = lbs_cmd_bt_access(cmdptr, cmd_action, pdata_buf); | 1001 | ret = lbs_cmd_bt_access(cmdptr, cmd_action, pdata_buf); |
1016 | break; | 1002 | break; |
@@ -1019,6 +1005,8 @@ int lbs_prepare_and_send_command(struct lbs_private *priv, | |||
1019 | ret = lbs_cmd_fwt_access(cmdptr, cmd_action, pdata_buf); | 1005 | ret = lbs_cmd_fwt_access(cmdptr, cmd_action, pdata_buf); |
1020 | break; | 1006 | break; |
1021 | 1007 | ||
1008 | #endif | ||
1009 | |||
1022 | case CMD_802_11_BEACON_CTRL: | 1010 | case CMD_802_11_BEACON_CTRL: |
1023 | ret = lbs_cmd_bcn_ctrl(priv, cmdptr, cmd_action); | 1011 | ret = lbs_cmd_bcn_ctrl(priv, cmdptr, cmd_action); |
1024 | break; | 1012 | break; |
@@ -1317,7 +1305,7 @@ int lbs_execute_next_command(struct lbs_private *priv) | |||
1317 | if ((priv->psmode != LBS802_11POWERMODECAM) && | 1305 | if ((priv->psmode != LBS802_11POWERMODECAM) && |
1318 | (priv->psstate == PS_STATE_FULL_POWER) && | 1306 | (priv->psstate == PS_STATE_FULL_POWER) && |
1319 | ((priv->connect_status == LBS_CONNECTED) || | 1307 | ((priv->connect_status == LBS_CONNECTED) || |
1320 | (priv->mesh_connect_status == LBS_CONNECTED))) { | 1308 | lbs_mesh_connected(priv))) { |
1321 | if (priv->secinfo.WPAenabled || | 1309 | if (priv->secinfo.WPAenabled || |
1322 | priv->secinfo.WPA2enabled) { | 1310 | priv->secinfo.WPA2enabled) { |
1323 | /* check for valid WPA group keys */ | 1311 | /* check for valid WPA group keys */ |