diff options
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c index b9d8a5adfd43..87536d38a4ca 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c | |||
@@ -23,8 +23,6 @@ | |||
23 | 23 | ||
24 | #include <linux/types.h> | 24 | #include <linux/types.h> |
25 | #include <linux/netdevice.h> | 25 | #include <linux/netdevice.h> |
26 | #include <linux/sched.h> | ||
27 | #include <defs.h> | ||
28 | 26 | ||
29 | #include <brcmu_utils.h> | 27 | #include <brcmu_utils.h> |
30 | #include <brcmu_wifi.h> | 28 | #include <brcmu_wifi.h> |
@@ -277,76 +275,6 @@ done: | |||
277 | return ret; | 275 | return ret; |
278 | } | 276 | } |
279 | 277 | ||
280 | int | ||
281 | brcmf_proto_dcmd(struct brcmf_pub *drvr, int ifidx, struct brcmf_dcmd *dcmd, | ||
282 | int len) | ||
283 | { | ||
284 | struct brcmf_proto *prot = drvr->prot; | ||
285 | int ret = -1; | ||
286 | |||
287 | if (drvr->bus_if->state == BRCMF_BUS_DOWN) { | ||
288 | brcmf_dbg(ERROR, "bus is down. we have nothing to do.\n"); | ||
289 | return ret; | ||
290 | } | ||
291 | mutex_lock(&drvr->proto_block); | ||
292 | |||
293 | brcmf_dbg(TRACE, "Enter\n"); | ||
294 | |||
295 | if (len > BRCMF_DCMD_MAXLEN) | ||
296 | goto done; | ||
297 | |||
298 | if (prot->pending == true) { | ||
299 | brcmf_dbg(TRACE, "CDC packet is pending!!!! cmd=0x%x (%lu) lastcmd=0x%x (%lu)\n", | ||
300 | dcmd->cmd, (unsigned long)dcmd->cmd, prot->lastcmd, | ||
301 | (unsigned long)prot->lastcmd); | ||
302 | if (dcmd->cmd == BRCMF_C_SET_VAR || | ||
303 | dcmd->cmd == BRCMF_C_GET_VAR) | ||
304 | brcmf_dbg(TRACE, "iovar cmd=%s\n", (char *)dcmd->buf); | ||
305 | |||
306 | goto done; | ||
307 | } | ||
308 | |||
309 | prot->pending = true; | ||
310 | prot->lastcmd = dcmd->cmd; | ||
311 | if (dcmd->set) | ||
312 | ret = brcmf_proto_cdc_set_dcmd(drvr, ifidx, dcmd->cmd, | ||
313 | dcmd->buf, len); | ||
314 | else { | ||
315 | ret = brcmf_proto_cdc_query_dcmd(drvr, ifidx, dcmd->cmd, | ||
316 | dcmd->buf, len); | ||
317 | if (ret > 0) | ||
318 | dcmd->used = ret - | ||
319 | sizeof(struct brcmf_proto_cdc_dcmd); | ||
320 | } | ||
321 | |||
322 | if (ret >= 0) | ||
323 | ret = 0; | ||
324 | else { | ||
325 | struct brcmf_proto_cdc_dcmd *msg = &prot->msg; | ||
326 | /* len == needed when set/query fails from dongle */ | ||
327 | dcmd->needed = le32_to_cpu(msg->len); | ||
328 | } | ||
329 | |||
330 | /* Intercept the wme_dp dongle cmd here */ | ||
331 | if (!ret && dcmd->cmd == BRCMF_C_SET_VAR && | ||
332 | !strcmp(dcmd->buf, "wme_dp")) { | ||
333 | int slen; | ||
334 | __le32 val = 0; | ||
335 | |||
336 | slen = strlen("wme_dp") + 1; | ||
337 | if (len >= (int)(slen + sizeof(int))) | ||
338 | memcpy(&val, (char *)dcmd->buf + slen, sizeof(int)); | ||
339 | drvr->wme_dp = (u8) le32_to_cpu(val); | ||
340 | } | ||
341 | |||
342 | prot->pending = false; | ||
343 | |||
344 | done: | ||
345 | mutex_unlock(&drvr->proto_block); | ||
346 | |||
347 | return ret; | ||
348 | } | ||
349 | |||
350 | static bool pkt_sum_needed(struct sk_buff *skb) | 278 | static bool pkt_sum_needed(struct sk_buff *skb) |
351 | { | 279 | { |
352 | return skb->ip_summed == CHECKSUM_PARTIAL; | 280 | return skb->ip_summed == CHECKSUM_PARTIAL; |