From 600d9647f4dca39470c1e2b3daf534e04b442b79 Mon Sep 17 00:00:00 2001 From: Alok Kumar Date: Mon, 27 May 2019 17:59:00 +0530 Subject: [PATCH] qcacld-3.0: Get the newtork queues status during NUD Failure In some cases i.e. after successful roaming, NUD FAILURE is triggered due to no ARP REQ packets are sent out by netdev. Currently, we do not have any information to verify if ARP packets are not sent because netdev queues are paused or not. Retrieve the netdev queues status in case of NUD FAILURE to verify if TX is stopped due to paused queue. Change-Id: I324afdc349cf6b028471a21ed89bc702f99e5f99 CRs-Fixed: 2441513 --- core/hdd/src/wlan_hdd_nud_tracking.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/hdd/src/wlan_hdd_nud_tracking.c b/core/hdd/src/wlan_hdd_nud_tracking.c index 42c497710f08..c4fd2bf139e8 100644 --- a/core/hdd/src/wlan_hdd_nud_tracking.c +++ b/core/hdd/src/wlan_hdd_nud_tracking.c @@ -107,6 +107,9 @@ void hdd_nud_reset_tracking(struct hdd_adapter *adapter) */ static void hdd_nud_stats_info(struct hdd_adapter *adapter) { + struct netdev_queue *txq; + int i = 0; + hdd_debug("**** NUD STATS: ****"); hdd_debug("NUD Probe Tx : %d", adapter->nud_tracking.tx_rx_stats.pre_tx_packets); @@ -123,6 +126,16 @@ static void hdd_nud_stats_info(struct hdd_adapter *adapter) hdd_debug("NUD Gateway Rx : %d", qdf_atomic_read(&adapter ->nud_tracking.tx_rx_stats.gw_rx_packets)); + + hdd_debug("carrier state: %d", netif_carrier_ok(adapter->dev)); + + for (i = 0; i < NUM_TX_QUEUES; i++) { + txq = netdev_get_tx_queue(adapter->dev, i); + hdd_debug("Queue: %d status: %d txq->trans_start: %lu", + i, netif_tx_queue_stopped(txq), txq->trans_start); + } + + hdd_debug("Current pause_map value %x", adapter->pause_map); } /**