diff options
| author | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-01-24 12:18:44 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2014-01-28 00:00:37 -0800 |
| commit | 00e580ea4fceec28f8a0096ea09ef1c3bcb821fe (patch) | |
| tree | 4304ad611ac2d22f613eb0b6375cf7e42b4e2f9d | |
| parent | 1b2966b5c8ddca0e362e8068e8c0fa89cfaeec5e (diff) | |
cld: pktlog: Fix static source analysis errors
Fix static source analysis errors in packet log module
Change-Id: I85d2dfa2fe14143b9aa524e49b6c567e815a5281
CRs-Fixed: 605460
| -rw-r--r-- | CORE/UTILS/PKTLOG/linux_ac.c | 57 | ||||
| -rw-r--r-- | CORE/UTILS/PKTLOG/pktlog_ac.c | 45 | ||||
| -rw-r--r-- | CORE/UTILS/PKTLOG/pktlog_internal.c | 5 |
3 files changed, 86 insertions, 21 deletions
diff --git a/CORE/UTILS/PKTLOG/linux_ac.c b/CORE/UTILS/PKTLOG/linux_ac.c index 7bd746d4f2f4..dc5927616125 100644 --- a/CORE/UTILS/PKTLOG/linux_ac.c +++ b/CORE/UTILS/PKTLOG/linux_ac.c @@ -105,7 +105,7 @@ void ol_pl_set_name(ol_softc_handle scn, net_device_handle dev) void pktlog_disable_adapter_logging(struct ol_softc *scn) { struct ol_pktlog_dev_t *pl_dev = get_pl_handle(scn); - pl_dev->pl_info->log_state = 0; + if (pl_dev) pl_dev->pl_info->log_state = 0; } int pktlog_alloc_buf(struct ol_softc *scn) @@ -204,7 +204,21 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_enable, ctl, write, filp, buffer, lenp, struct ol_pktlog_dev_t *pl_dev; scn = (ol_ath_generic_softc_handle) ctl->extra1; + + if (!scn) { + printk("%s: Invalid scn context\n", __func__); + ASSERT(0); + return -EINVAL; + } + pl_dev = get_pl_handle((struct ol_softc *)scn); + + if (!pl_dev) { + printk("%s: Invalid pktlog context\n", __func__); + ASSERT(0); + return -ENODEV; + } + ctl->data = &enable; ctl->maxlen = sizeof(enable); @@ -212,7 +226,7 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_enable, ctl, write, filp, buffer, lenp, ret = ATH_SYSCTL_PROC_DOINTVEC(ctl, write, filp, buffer, lenp, ppos); if (ret == 0) - return pl_dev->pl_funcs->pktlog_enable( + ret = pl_dev->pl_funcs->pktlog_enable( (struct ol_softc *)scn, enable); else @@ -225,6 +239,10 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_enable, ctl, write, filp, buffer, lenp, printk(PKTLOG_TAG "%s:proc_dointvec failed\n", __func__); } + + ctl->data = NULL; + ctl->maxlen = 0; + return ret; } @@ -243,7 +261,21 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_size, ctl, write, filp, buffer, lenp, struct ol_pktlog_dev_t *pl_dev; scn = (ol_ath_generic_softc_handle) ctl->extra1; + + if (!scn) { + printk("%s: Invalid scn context\n", __func__); + ASSERT(0); + return -EINVAL; + } + pl_dev = get_pl_handle((struct ol_softc *)scn); + + if (!pl_dev) { + printk("%s: Invalid pktlog handle\n", __func__); + ASSERT(0); + return -ENODEV; + } + ctl->data = &size; ctl->maxlen = sizeof(size); @@ -251,7 +283,7 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_size, ctl, write, filp, buffer, lenp, ret = ATH_SYSCTL_PROC_DOINTVEC(ctl, write, filp, buffer, lenp, ppos); if (ret == 0) - return pl_dev->pl_funcs->pktlog_setsize( + ret = pl_dev->pl_funcs->pktlog_setsize( (struct ol_softc *)scn, size); } else { @@ -259,6 +291,10 @@ ATH_SYSCTL_DECL(ath_sysctl_pktlog_size, ctl, write, filp, buffer, lenp, ret = ATH_SYSCTL_PROC_DOINTVEC(ctl, write, filp, buffer, lenp, ppos); } + + ctl->data = NULL; + ctl->maxlen = 0; + return ret; } @@ -474,6 +510,12 @@ static void pktlog_sysctl_unregister(struct ol_pktlog_dev_t *pl_dev) { struct ath_pktlog_info_lnx *pl_info_lnx; + if (!pl_dev) { + printk("%s: Invalid pktlog context\n", __func__); + ASSERT(0); + return; + } + pl_info_lnx = (pl_dev) ? PL_INFO_LNX(pl_dev->pl_info) : PL_INFO_LNX(g_pktlog_info); @@ -487,8 +529,15 @@ static void pktlog_detach(struct ol_softc *scn) { struct ol_pktlog_dev_t *pl_dev = (struct ol_pktlog_dev_t *) get_pl_handle(scn); - struct ath_pktlog_info *pl_info = pl_dev->pl_info; + struct ath_pktlog_info *pl_info; + + if (!pl_dev) { + printk("%s: Invalid pktlog context\n", __func__); + ASSERT(0); + return; + } + pl_info = pl_dev->pl_info; remove_proc_entry(WLANDEV_BASENAME, g_pktlog_pde); pktlog_sysctl_unregister(pl_dev); pktlog_cleanup(pl_info); diff --git a/CORE/UTILS/PKTLOG/pktlog_ac.c b/CORE/UTILS/PKTLOG/pktlog_ac.c index b4c43714ccfb..fd11a1044c68 100644 --- a/CORE/UTILS/PKTLOG/pktlog_ac.c +++ b/CORE/UTILS/PKTLOG/pktlog_ac.c @@ -46,8 +46,6 @@ #include "vos_api.h" #include "wlan_qct_wda.h" -static int g_pktlog_mode = PKTLOG_MODE_SYSTEM; - void pktlog_init(struct ol_softc *scn); int pktlog_enable(struct ol_softc *scn, int32_t log_state); int pktlog_setsize(struct ol_softc *scn, int32_t log_state); @@ -327,34 +325,49 @@ pktlog_init(struct ol_softc *scn) int pktlog_enable(struct ol_softc *scn, int32_t log_state) { - struct ol_pktlog_dev_t *pl_dev = scn->pdev_txrx_handle->pl_dev; - struct ath_pktlog_info *pl_info = pl_dev->pl_info; - struct ol_txrx_pdev_t *txrx_pdev = scn->pdev_txrx_handle; + struct ol_pktlog_dev_t *pl_dev; + struct ath_pktlog_info *pl_info; + struct ol_txrx_pdev_t *txrx_pdev; int error; + if (!scn) { + printk("%s: Invalid scn context\n", __func__); + ASSERT(0); + return -1; + } + + txrx_pdev = scn->pdev_txrx_handle; + if (!txrx_pdev) { + printk("%s: Invalid txrx_pdev context\n", __func__); + ASSERT(0); + return -1; + } + + pl_dev = scn->pdev_txrx_handle->pl_dev; + if (!pl_dev) { + printk("%s: Invalid pktlog context\n", __func__); + ASSERT(0); + return -1; + } + + pl_info = pl_dev->pl_info; pl_dev->sc_osdev = scn->sc_osdev; if (!pl_info) return 0; if (log_state != 0 && !pl_dev->tgt_pktlog_enabled) { - if (!scn) { - if (g_pktlog_mode == PKTLOG_MODE_ADAPTER) { - pktlog_disable_adapter_logging(scn); - g_pktlog_mode = PKTLOG_MODE_SYSTEM; - } - } else { - if (g_pktlog_mode == PKTLOG_MODE_SYSTEM) - g_pktlog_mode = PKTLOG_MODE_ADAPTER; - } - if (pl_info->buf == NULL) { error = pktlog_alloc_buf(scn); if (error != 0) return error; - ASSERT(pl_info->buf); + if (!pl_info->buf) { + printk("%s: pktlog buf alloc failed\n", __func__); + ASSERT(0); + return -1; + } pl_info->buf->bufhdr.version = CUR_PKTLOG_VER; pl_info->buf->bufhdr.magic_num = PKTLOG_MAGIC_NUM; diff --git a/CORE/UTILS/PKTLOG/pktlog_internal.c b/CORE/UTILS/PKTLOG/pktlog_internal.c index 0aeae952d700..e43f30f880cb 100644 --- a/CORE/UTILS/PKTLOG/pktlog_internal.c +++ b/CORE/UTILS/PKTLOG/pktlog_internal.c @@ -71,10 +71,11 @@ pktlog_getbuf_intsafe(struct ath_pktlog_arg *plarg) printk("Invalid parg in %s\n", __func__); return; } + pl_info = plarg->pl_info; - log_buf = pl_info->buf; log_type = plarg->log_type; log_size = plarg->log_size; + log_buf = pl_info->buf; flags = plarg->flags; if (!log_buf) { @@ -329,6 +330,8 @@ process_tx_info(struct ol_txrx_pdev_t *txrx_pdev, adf_nbuf_t netbuf; u_int32_t len; + adf_os_mem_set(&pl_msdu_info, 0, sizeof(pl_msdu_info)); + pl_msdu_info.num_msdu = *msdu_id_info; pl_msdu_info.priv_size = sizeof(uint32_t) * pl_msdu_info.num_msdu + |
