diff options
author | Dan Williams <dcbw@redhat.com> | 2007-12-11 12:42:16 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:06:42 -0500 |
commit | 6e66f03ff78b23d845920739373b1561c546b13f (patch) | |
tree | c190caf119aedbcc07d6020226dfd4637ef44970 /drivers/net/wireless/libertas/cmdresp.c | |
parent | a8bdcd71fd33e4a919f9f0cb32207c644b70853f (diff) |
libertas: convert GET_HW_SPEC to a direct command
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 91136697f697..671e323764c8 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -145,69 +145,6 @@ static int lbs_ret_reg_access(struct lbs_private *priv, | |||
145 | return ret; | 145 | return ret; |
146 | } | 146 | } |
147 | 147 | ||
148 | static int lbs_ret_get_hw_spec(struct lbs_private *priv, | ||
149 | struct cmd_ds_command *resp) | ||
150 | { | ||
151 | u32 i; | ||
152 | struct cmd_ds_get_hw_spec *hwspec = &resp->params.hwspec; | ||
153 | int ret = 0; | ||
154 | DECLARE_MAC_BUF(mac); | ||
155 | |||
156 | lbs_deb_enter(LBS_DEB_CMD); | ||
157 | |||
158 | priv->fwcapinfo = le32_to_cpu(hwspec->fwcapinfo); | ||
159 | |||
160 | memcpy(priv->fwreleasenumber, hwspec->fwreleasenumber, 4); | ||
161 | |||
162 | lbs_deb_cmd("GET_HW_SPEC: firmware release %u.%u.%up%u\n", | ||
163 | priv->fwreleasenumber[2], priv->fwreleasenumber[1], | ||
164 | priv->fwreleasenumber[0], priv->fwreleasenumber[3]); | ||
165 | lbs_deb_cmd("GET_HW_SPEC: MAC addr %s\n", | ||
166 | print_mac(mac, hwspec->permanentaddr)); | ||
167 | lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n", | ||
168 | hwspec->hwifversion, hwspec->version); | ||
169 | |||
170 | /* Clamp region code to 8-bit since FW spec indicates that it should | ||
171 | * only ever be 8-bit, even though the field size is 16-bit. Some firmware | ||
172 | * returns non-zero high 8 bits here. | ||
173 | */ | ||
174 | priv->regioncode = le16_to_cpu(hwspec->regioncode) & 0xFF; | ||
175 | |||
176 | for (i = 0; i < MRVDRV_MAX_REGION_CODE; i++) { | ||
177 | /* use the region code to search for the index */ | ||
178 | if (priv->regioncode == lbs_region_code_to_index[i]) { | ||
179 | break; | ||
180 | } | ||
181 | } | ||
182 | |||
183 | /* if it's unidentified region code, use the default (USA) */ | ||
184 | if (i >= MRVDRV_MAX_REGION_CODE) { | ||
185 | priv->regioncode = 0x10; | ||
186 | lbs_pr_info("unidentified region code; using the default (USA)\n"); | ||
187 | } | ||
188 | |||
189 | if (priv->current_addr[0] == 0xff) | ||
190 | memmove(priv->current_addr, hwspec->permanentaddr, ETH_ALEN); | ||
191 | |||
192 | memcpy(priv->dev->dev_addr, priv->current_addr, ETH_ALEN); | ||
193 | if (priv->mesh_dev) | ||
194 | memcpy(priv->mesh_dev->dev_addr, priv->current_addr, ETH_ALEN); | ||
195 | |||
196 | if (lbs_set_regiontable(priv, priv->regioncode, 0)) { | ||
197 | ret = -1; | ||
198 | goto done; | ||
199 | } | ||
200 | |||
201 | if (lbs_set_universaltable(priv, 0)) { | ||
202 | ret = -1; | ||
203 | goto done; | ||
204 | } | ||
205 | |||
206 | done: | ||
207 | lbs_deb_enter_args(LBS_DEB_CMD, "ret %d", ret); | ||
208 | return ret; | ||
209 | } | ||
210 | |||
211 | static int lbs_ret_802_11_sleep_params(struct lbs_private *priv, | 148 | static int lbs_ret_802_11_sleep_params(struct lbs_private *priv, |
212 | struct cmd_ds_command *resp) | 149 | struct cmd_ds_command *resp) |
213 | { | 150 | { |
@@ -569,10 +506,6 @@ static inline int handle_cmd_response(struct lbs_private *priv, | |||
569 | ret = lbs_ret_reg_access(priv, respcmd, resp); | 506 | ret = lbs_ret_reg_access(priv, respcmd, resp); |
570 | break; | 507 | break; |
571 | 508 | ||
572 | case CMD_RET(CMD_GET_HW_SPEC): | ||
573 | ret = lbs_ret_get_hw_spec(priv, resp); | ||
574 | break; | ||
575 | |||
576 | case CMD_RET(CMD_802_11_SCAN): | 509 | case CMD_RET(CMD_802_11_SCAN): |
577 | ret = lbs_ret_80211_scan(priv, resp); | 510 | ret = lbs_ret_80211_scan(priv, resp); |
578 | break; | 511 | break; |