diff options
author | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-07-21 23:04:45 +0200 |
---|---|---|
committer | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-07-21 23:04:45 +0200 |
commit | 0a1182796f6475b8cb2ff1781dad873a744b3197 (patch) | |
tree | e15b5256dac226c49a25b5e24594cd638e2fec2c /drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c | |
parent | 633018c13fe06461d9c60692fbb114734aa37802 (diff) | |
download | kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.zip kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.tar.gz kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.tar.bz2 |
samsung opensource update3
Diffstat (limited to 'drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c')
-rw-r--r-- | drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c | 53 |
1 files changed, 19 insertions, 34 deletions
diff --git a/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c b/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c index 956c4e1..f9f8c20 100644 --- a/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c +++ b/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c @@ -267,36 +267,13 @@ int dhd_wl_ioctl_cmd(dhd_pub_t *dhd_pub, int cmd, void *arg, int len, uint8 set, int ifindex) { wl_ioctl_t ioc; -#ifdef CUSTOMER_HW_SAMSUNG - int ret; -#endif /* CUSTOMER_HW_SAMSUNG */ ioc.cmd = cmd; ioc.buf = arg; ioc.len = len; ioc.set = set; -#ifdef CUSTOMER_HW_SAMSUNG - ret = dhd_wl_ioctl(dhd_pub, ifindex, &ioc, arg, len); - if (ret < 0) { - if (ioc.cmd == WLC_GET_VAR) { - DHD_ERROR(("%s: WLC_GET_VAR: %s, error = %d\n", - __FUNCTION__, (char *)ioc.buf, ret)); - } else if (ioc.cmd == WLC_SET_VAR) { - char pkt_filter[] = "pkt_filter_add"; - if (strncmp(pkt_filter, ioc.buf, sizeof(pkt_filter)) != 0) { - DHD_ERROR(("%s: WLC_SET_VAR: %s, error = %d\n", - __FUNCTION__, (char *)ioc.buf, ret)); - } - } else { - DHD_ERROR(("%s: WLC_IOCTL: cmd:%d, error = %d\n", - __FUNCTION__, ioc.cmd, ret)); - } - } - return ret; -#else return dhd_wl_ioctl(dhd_pub, ifindex, &ioc, arg, len); -#endif /* CUSTOMER_HW_SAMSUNG */ } @@ -308,14 +285,26 @@ dhd_wl_ioctl(dhd_pub_t *dhd_pub, int ifindex, wl_ioctl_t *ioc, void *buf, int le dhd_os_proto_block(dhd_pub); ret = dhd_prot_ioctl(dhd_pub, ifindex, ioc, buf, len); -#ifdef BCM4334_CHIP - if (!ret || ret == -ETIMEDOUT || (dhd_pub->tx_seq_badcnt >= 2)) -#else - if (!ret || ret == -ETIMEDOUT) -#endif + if (!ret || ret == -ETIMEDOUT) { + /* Send hang event only if dhd_open() was success */ + if (dhd_pub->up) dhd_os_check_hang(dhd_pub, ifindex, ret); + } dhd_os_proto_unblock(dhd_pub); +#ifdef CUSTOMER_HW_SAMSUNG + if (ret < 0) { + if (ioc->cmd == WLC_GET_VAR) + DHD_ERROR(("%s: WLC_GET_VAR: %s, error = %d\n", + __FUNCTION__, (char *)ioc->buf, ret)); + else if (ioc->cmd == WLC_SET_VAR) + DHD_ERROR(("%s: WLC_SET_VAR: %s, error = %d\n", + __FUNCTION__, (char *)ioc->buf, ret)); + else + DHD_ERROR(("%s: WLC_IOCTL: cmd: %d, error = %d\n", + __FUNCTION__, ioc->cmd, ret)); + } +#endif /* CUSTOMER_HW_SAMSUNG */ return ret; } @@ -586,10 +575,8 @@ dhd_prec_enq(dhd_pub_t *dhdp, struct pktq *q, void *pkt, int prec) if (pktq_pfull(q, prec)) eprec = prec; else if (pktq_full(q)) { -#if defined(BCMASSERT_LOG) p = pktq_peek_tail(q, &eprec); - ASSERT(p); -#endif +// ASSERT(p); if (eprec > prec || eprec < 0) return FALSE; } @@ -608,11 +595,9 @@ dhd_prec_enq(dhd_pub_t *dhdp, struct pktq *q, void *pkt, int prec) PKTFREE(dhdp->osh, p, TRUE); } -#if defined(BCMASSERT_LOG) /* Enqueue */ p = pktq_penq(q, prec, pkt); - ASSERT(p); -#endif +// ASSERT(p); return TRUE; } |