summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFranky Lin <frankyl@broadcom.com>2011-11-22 17:21:46 -0800
committerJohn W. Linville <linville@tuxdriver.com>2011-11-28 14:43:35 -0500
commit0c094c77ce9c338adc08d6d71b2d92a7761992b8 (patch)
tree580b922314cd745f5df81b2846dba06d40b7b7ed
parenta52dd17d20be1fb6a111468f3ca8bfa0af7c0903 (diff)
downloadop-kernel-dev-0c094c77ce9c338adc08d6d71b2d92a7761992b8.zip
op-kernel-dev-0c094c77ce9c338adc08d6d71b2d92a7761992b8.tar.gz
brcm80211: fmac: discard packet received when net device not registered
A new feature in the dongle firmware requires a handshake during firmware intialization. The request is sent in event packets which the host driver is not able to handle before any net device registered. Discard those packets as the context for handling it is missing. The initialization handler will be added as part of feature support code in the future. Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index 7af14138..62413e8 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@ -431,6 +431,12 @@ void brcmf_rx_frame(struct brcmf_pub *drvr, int ifidx,
if (ifp == NULL)
ifp = drvr_priv->iflist[0];
+ if (!ifp || !ifp->ndev ||
+ ifp->ndev->reg_state != NETREG_REGISTERED) {
+ brcmu_pkt_buf_free_skb(skb);
+ continue;
+ }
+
skb->dev = ifp->ndev;
skb->protocol = eth_type_trans(skb, skb->dev);
OpenPOWER on IntegriCloud