aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/sta_rx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/mwifiex/sta_rx.c')
-rw-r--r--drivers/net/wireless/mwifiex/sta_rx.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/net/wireless/mwifiex/sta_rx.c b/drivers/net/wireless/mwifiex/sta_rx.c
index 750b695aca12..02ce3b77d3e7 100644
--- a/drivers/net/wireless/mwifiex/sta_rx.c
+++ b/drivers/net/wireless/mwifiex/sta_rx.c
@@ -145,7 +145,12 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *adapter,
145 " rx_pkt_offset=%d, rx_pkt_length=%d\n", skb->len, 145 " rx_pkt_offset=%d, rx_pkt_length=%d\n", skb->len,
146 local_rx_pd->rx_pkt_offset, local_rx_pd->rx_pkt_length); 146 local_rx_pd->rx_pkt_offset, local_rx_pd->rx_pkt_length);
147 priv->stats.rx_dropped++; 147 priv->stats.rx_dropped++;
148 dev_kfree_skb_any(skb); 148
149 if (adapter->if_ops.data_complete)
150 adapter->if_ops.data_complete(adapter, skb);
151 else
152 dev_kfree_skb_any(skb);
153
149 return ret; 154 return ret;
150 } 155 }
151 156
@@ -196,8 +201,12 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *adapter,
196 (u8) local_rx_pd->rx_pkt_type, 201 (u8) local_rx_pd->rx_pkt_type,
197 skb); 202 skb);
198 203
199 if (ret || (rx_pkt_type == PKT_TYPE_BAR)) 204 if (ret || (rx_pkt_type == PKT_TYPE_BAR)) {
200 dev_kfree_skb_any(skb); 205 if (adapter->if_ops.data_complete)
206 adapter->if_ops.data_complete(adapter, skb);
207 else
208 dev_kfree_skb_any(skb);
209 }
201 210
202 if (ret) 211 if (ret)
203 priv->stats.rx_dropped++; 212 priv->stats.rx_dropped++;