aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c
diff options
context:
space:
mode:
authorDaniel Hillenbrand <daniel.hillenbrand@codeworkx.de>2012-07-21 23:04:45 +0200
committerDaniel Hillenbrand <daniel.hillenbrand@codeworkx.de>2012-07-21 23:04:45 +0200
commit0a1182796f6475b8cb2ff1781dad873a744b3197 (patch)
treee15b5256dac226c49a25b5e24594cd638e2fec2c /drivers/net/wireless/bcmdhd/src/dhd/sys/dhd_common.c
parent633018c13fe06461d9c60692fbb114734aa37802 (diff)
downloadkernel_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.c53
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;
}