From: Solomon Peachy <pizza@shaftnet.org>
Date: Sat, 20 Jul 2013 03:31:27 +0000 (-0400)
Subject: cw1200: Fix OOPS in monitor mode
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=16ec75b5de6479637993ad0f7c11a49aae069f68;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

cw1200: Fix OOPS in monitor mode

In monitor mode, priv->vif is NULL, but at one point in the receive path we
blindly attempt to dereference it.  Add a test to prevent this.

Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/cw1200/txrx.c b/drivers/net/wireless/cw1200/txrx.c
index 5862c373d714..e824d4d4a18d 100644
--- a/drivers/net/wireless/cw1200/txrx.c
+++ b/drivers/net/wireless/cw1200/txrx.c
@@ -1165,7 +1165,7 @@ void cw1200_rx_cb(struct cw1200_common *priv,
 		if (cw1200_handle_action_rx(priv, skb))
 			return;
 	} else if (ieee80211_is_beacon(frame->frame_control) &&
-		   !arg->status &&
+		   !arg->status && priv->vif &&
 		   !memcmp(ieee80211_get_SA(frame), priv->vif->bss_conf.bssid,
 			   ETH_ALEN)) {
 		const u8 *tim_ie;