|
@@ -2535,13 +2535,15 @@ qdf_export_symbol(__qdf_nbuf_is_bcast_pkt);
|
|
|
|
|
|
bool __qdf_nbuf_is_mcast_replay(qdf_nbuf_t nbuf)
|
|
|
{
|
|
|
- struct ethhdr *eh = (struct ethhdr *)qdf_nbuf_data(nbuf);
|
|
|
+ struct sk_buff *skb = (struct sk_buff *)nbuf;
|
|
|
+ struct ethhdr *eth = eth_hdr(skb);
|
|
|
+
|
|
|
+ if (qdf_likely(skb->pkt_type != PACKET_MULTICAST))
|
|
|
+ return false;
|
|
|
+
|
|
|
+ if (qdf_unlikely(ether_addr_equal(eth->h_source, skb->dev->dev_addr)))
|
|
|
+ return true;
|
|
|
|
|
|
- if (unlikely(nbuf->pkt_type == PACKET_MULTICAST)) {
|
|
|
- if (unlikely(ether_addr_equal(eh->h_source,
|
|
|
- nbuf->dev->dev_addr)))
|
|
|
- return true;
|
|
|
- }
|
|
|
return false;
|
|
|
}
|
|
|
|