aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c72
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
280int
281brcmf_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
344done:
345 mutex_unlock(&drvr->proto_block);
346
347 return ret;
348}
349
350static bool pkt_sum_needed(struct sk_buff *skb) 278static bool pkt_sum_needed(struct sk_buff *skb)
351{ 279{
352 return skb->ip_summed == CHECKSUM_PARTIAL; 280 return skb->ip_summed == CHECKSUM_PARTIAL;