CHROMIUM: mesh: remove mpp path debug dump

remove mpp_path_table_debug_dump from rx path because
rhashtable_walk_enter is preempt-able and could sleep.
A deadlock happens when rhashtable_walk_enter is called
from worker thread with softirq enabled, and it's
preempted by softirq while holding a lock, then
mpp_path_table_debug_dump is called from net_rx_action
in softirq to grab the same lock.

BUG=b:168345283
TEST=emerge-gale kernel-3_18
Signed-off-by: Roy Luo <royluo@google.com>
Change-Id: I24202bb70b335ce70ad7135ef3e892a94d16e17f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2409663
Reviewed-by: Kan Yan <kyan@chromium.org>
(cherry picked from commit a03616d2a3d9d4fb17b7089e485fbe0f22c02394)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2464713
Reviewed-by: Srinivasa duvvuri <sduvvuri@google.com>
Commit-Queue: Srinivasa duvvuri <sduvvuri@google.com>
Tested-by: Srinivasa duvvuri <sduvvuri@google.com>
diff --git a/net/mac80211-4.2/rx.c b/net/mac80211-4.2/rx.c
index 2cdd197..e19b9bf4 100644
--- a/net/mac80211-4.2/rx.c
+++ b/net/mac80211-4.2/rx.c
@@ -2240,7 +2240,6 @@
 		struct mesh_path *mppath;
 		char *proxied_addr;
 		char *mpp_addr;
-		bool mpp_table_updated = 0;
 
 		if (is_multicast_ether_addr(hdr->addr1)) {
 			mpp_addr = hdr->addr3;
@@ -2259,11 +2258,12 @@
 		if (!mppath) {
 			mpp_path_add(sdata, proxied_addr, mpp_addr);
 			rcu_read_unlock();
-			mpath_dbg(sdata, "MESH MPPU add mpp %pM dest %pM  \n",
-					  mpp_addr, proxied_addr);
-			mpp_table_updated = 1;
+			mpath_dbg(sdata, "MESH MPPU add mpp %pM dest %pM\n",
+				  mpp_addr, proxied_addr);
 		} else {
 			u8 old_mpp[ETH_ALEN];
+			bool mpp_table_updated = 0;
+
 			spin_lock_bh(&mppath->state_lock);
 			if (!ether_addr_equal(mppath->mpp, mpp_addr)) {
 				memcpy(old_mpp, mppath->mpp, ETH_ALEN);
@@ -2278,9 +2278,6 @@
 						  old_mpp,mpp_addr, proxied_addr);
 			}
 		}
-		if (mpp_table_updated) {
-			mpp_path_table_debug_dump(sdata);
-		}
 	}
 
 	/* Frame has reached destination.  Don't forward */