> default: > + printk(KERN_DEBUG "%s: received unknown action frame - " > + "category=%d\n", dev->name, mgmt->u.action.category); Needs to be rate limited or ignored as it was before. > +int ieee80211_get_mesh_hdrlen(struct ieee80211s_hdr *meshhdr) > +{ > + int ae = meshhdr->flags & IEEE80211S_FLAGS_AE; > + /* 7.1.3.5a.2 */ > + switch (ae) { > + case 0: > + return 5; > + case 1: > + return 11; > + case 2: > + return 17; > + case 3: > + return 23; > + default: > + return 5; > + } > +} What the hell? This is utterly horrible! Can that be changed in the spec so the header is always a multiple of four bytes? :) This means we need to copy each mesh frame on platforms that don't handle unaligned loads, I don't see any DMA engine inserting 5 bytes padding... this makes things really complicated with alignment now and means we do have to clean up the mess in the stack, we can't require drivers to handle this weird mesh stuff :( johannes
Attachment:
signature.asc
Description: This is a digitally signed message part