Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90700fd9 authored by Peter Jones's avatar Peter Jones Committed by James Ketrenos
Browse files

Fixed is_network_packet() to include checking for broadcast packets.

parent 24a47dbd
Loading
Loading
Loading
Loading
+7 −5
Original line number Original line Diff line number Diff line
@@ -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))
		if (!memcmp(header->addr2, priv->net_dev->dev_addr, ETH_ALEN))
			return 0;
			return 0;


		/* multicast packets to our IBSS go through */
		/* {broad,multi}cast packets to our BSSID go through */
		if (is_multicast_ether_addr(header->addr1))
		if (is_multicast_ether_addr(header->addr1) ||
		    is_broadcast_ether_addr(header->addr1))
			return !memcmp(header->addr3, priv->bssid, ETH_ALEN);
			return !memcmp(header->addr3, priv->bssid, ETH_ALEN);


		/* packets to our adapter go through */
		/* packets to our adapter go through */
		return !memcmp(header->addr1, priv->net_dev->dev_addr,
		return !memcmp(header->addr1, priv->net_dev->dev_addr,
			       ETH_ALEN);
			       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) */
		/* packets from our adapter are dropped (echo) */
		if (!memcmp(header->addr3, priv->net_dev->dev_addr, ETH_ALEN))
		if (!memcmp(header->addr3, priv->net_dev->dev_addr, ETH_ALEN))
			return 0;
			return 0;


		/* {broad,multi}cast packets to our IBSS go through */
		/* {broad,multi}cast packets to our BSS go through */
		if (is_multicast_ether_addr(header->addr1))
		if (is_multicast_ether_addr(header->addr1) ||
		    is_broadcast_ether_addr(header->addr1))
			return !memcmp(header->addr2, priv->bssid, ETH_ALEN);
			return !memcmp(header->addr2, priv->bssid, ETH_ALEN);


		/* packets to our adapter go through */
		/* packets to our adapter go through */