On Fri, 25 Jan 2008, Michael Buesch wrote: > > The problem is _not_ the wireless header access, but the alignment of the embedded > protocol stack, if the header does not have a size aligned to 4. > Do we want to clutter the whole networking stack below wireless with > get_unaligned() or attribute(packed) or something like that? That's what all the other protocols do, isn't it? For example, on PowerPC, NET_IP_ALIGN is 0 - explicitly so that the *dma* from the card should be aligned, even if that in turn means that the IP payload itself is then just two-byte aligned rather than word-aligned (14-byte ethernet headers and all that). [ Side note - I _used_ to know the networking code. That was about eight to ten years ago. I'm really happy having a maintainer for it and not having to know all the details any more, so maybe things have changed. ] I do think that we generally should try to make the drivers do as little complex stuff as humanly possible, and expect as little from hardware (and firmware counts in that group) as we can. If some higher-level thing really needs things aligned in order to not have to have lots of ugly code, it should generally extract that alignment itself. Linus - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html