net: wireless: bcmdhd / bcmdhd_88: Disable tcpdump feature by default
Michael Hsu [Thu, 6 Oct 2016 23:43:03 +0000 (16:43 -0700)]
Disable saving tcpdump records until it is enabled (by writing 'enable'
command to the sysfs node).

Only tcpdump records is disabled by default - other record types, such
as power or wifi stats records, are still enabled by default.

Bug 200240507

Change-Id: I033b5e3057b25c4e828a2ea179e0898e13002a31
Signed-off-by: Michael Hsu <mhsu@nvidia.com>
Reviewed-on: http://git-master/r/1232801
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>

drivers/net/wireless/bcmdhd/dhd_custom_sysfs_tegra_tcpdump.c
drivers/net/wireless/bcmdhd_88/dhd_custom_sysfs_tegra_tcpdump.c

index 08e42c1..23d4f3c 100644 (file)
@@ -203,7 +203,7 @@ DEFINE_SPINLOCK(tcpdump_lock);
 static DEFINE_SEMAPHORE(tcpdump_read_lock);
 
 extern int lp0_logs_enable;
-static int pkt_save = 1;
+static int pkt_save = 0;
 static int pkt_rx_save = 1;
 static int pkt_tx_save = 1;
 static atomic_t insert_dummy_timestamp = ATOMIC_INIT(1);
@@ -255,7 +255,7 @@ tcpdump_pkt_save(char tag, const char *netif, const char *func, int line,
                return;
 
        /* check if (tcp/pwr/stat/...)dump packet save enable */
-       if (pkt_save == 0)
+       if ((multi == 0) && (pkt_save == 0))
                return;
 
        /* copy (tcp/pwr/stat/...)dump pkt */
@@ -557,12 +557,12 @@ tegra_sysfs_histogram_tcpdump_store(struct device *dev,
                return count;
        } else if (strncmp(buf, "test_pwrdump", 12) == 0) {
                pr_info("%s: test pwrdump - add phony record\n", __func__);
-               tcpdump_pkt_save('P', "multi0", __func__, __LINE__,
+               tcpdump_pkt_save(TCPDUMP_TAG_PWR, "multi0", __func__, __LINE__,
                        (unsigned char *) buf + 12, count - 12, 0);
                return count;
        } else if (strncmp(buf, "test_statdump", 13) == 0) {
                pr_info("%s: test statdump - add phony record\n", __func__);
-               tcpdump_pkt_save('S', "multi0", __func__, __LINE__,
+               tcpdump_pkt_save(TCPDUMP_TAG_STAT, "multi0", __func__, __LINE__,
                        (unsigned char *) buf + 13, count - 13, 0);
                return count;
        } else {
index b166eca..b704d4b 100644 (file)
@@ -198,7 +198,7 @@ static int multidump_get(void)
 DEFINE_SPINLOCK(tcpdump_lock);
 
 extern int lp0_logs_enable;
-static int pkt_save = 1;
+static int pkt_save = 0;
 static int pkt_rx_save = 1;
 static int pkt_tx_save = 1;
 static atomic_t insert_dummy_timestamp = ATOMIC_INIT(1);
@@ -250,7 +250,7 @@ tcpdump_pkt_save(char tag, const char *netif, const char *func, int line,
                return;
 
        /* check if (tcp/pwr/stat/...)dump packet save enable */
-       if (pkt_save == 0)
+       if ((multi == 0) && (pkt_save == 0))
                return;
 
        /* copy (tcp/pwr/stat/...)dump pkt */
@@ -554,12 +554,12 @@ tegra_sysfs_histogram_tcpdump_store(struct device *dev,
                return count;
        } else if (strncmp(buf, "test_pwrdump", 12) == 0) {
                pr_info("%s: test pwrdump - add phony record\n", __func__);
-               tcpdump_pkt_save('P', "multi0", __func__, __LINE__,
+               tcpdump_pkt_save(TCPDUMP_TAG_PWR, "multi0", __func__, __LINE__,
                                (unsigned char *) buf + 12, count - 12, 0);
                return count;
        } else if (strncmp(buf, "test_statdump", 13) == 0) {
                pr_info("%s: test statdump - add phony record\n", __func__);
-               tcpdump_pkt_save('S', "multi0", __func__, __LINE__,
+               tcpdump_pkt_save(TCPDUMP_TAG_STAT, "multi0", __func__, __LINE__,
                                (unsigned char *) buf + 13, count - 13, 0);
                return count;
        } else {