Fixed is_network_packet() to include checking for broadcast packets.
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
This commit is contained in:
parent
24a47dbd89
commit
90700fd982
1 changed files with 7 additions and 5 deletions
|
@ -8096,21 +8096,23 @@ static inline int is_network_packet(struct ipw_priv *priv,
|
|||
if (!memcmp(header->addr2, priv->net_dev->dev_addr, ETH_ALEN))
|
||||
return 0;
|
||||
|
||||
/* multicast packets to our IBSS go through */
|
||||
if (is_multicast_ether_addr(header->addr1))
|
||||
/* {broad,multi}cast packets to our BSSID go through */
|
||||
if (is_multicast_ether_addr(header->addr1) ||
|
||||
is_broadcast_ether_addr(header->addr1))
|
||||
return !memcmp(header->addr3, priv->bssid, ETH_ALEN);
|
||||
|
||||
/* packets to our adapter go through */
|
||||
return !memcmp(header->addr1, priv->net_dev->dev_addr,
|
||||
ETH_ALEN);
|
||||
|
||||
case IW_MODE_INFRA: /* Header: Dest. | AP{BSSID} | Source */
|
||||
case IW_MODE_INFRA: /* Header: Dest. | BSSID | Source */
|
||||
/* packets from our adapter are dropped (echo) */
|
||||
if (!memcmp(header->addr3, priv->net_dev->dev_addr, ETH_ALEN))
|
||||
return 0;
|
||||
|
||||
/* {broad,multi}cast packets to our IBSS go through */
|
||||
if (is_multicast_ether_addr(header->addr1))
|
||||
/* {broad,multi}cast packets to our BSS go through */
|
||||
if (is_multicast_ether_addr(header->addr1) ||
|
||||
is_broadcast_ether_addr(header->addr1))
|
||||
return !memcmp(header->addr2, priv->bssid, ETH_ALEN);
|
||||
|
||||
/* packets to our adapter go through */
|
||||
|
|
Loading…
Reference in a new issue