Hi Marek
> + shost = wifi_hdr->addr2;
> + if (fc & IEEE80211_FCTL_FROMDS)
> + shost = wifi_hdr->addr3;
> + else if (fc & IEEE80211_FCTL_TODS)
> + shost = wifi_hdr->addr4;
> +
> + dhost = wifi_hdr->addr1;
> + if (fc & IEEE80211_FCTL_TODS)
> + dhost = wifi_hdr->addr3;
What would happen if you happened to pick up a WDS packet? Four
addresses in the packet. Do we see sensible addresses?
> +
> + hdr_len = 24;
> + if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS))
> + hdr_len = 30;
Again, WDS? We are now a few bytes out when decoding the rest of the
packet.
Andrew