Re: [PATCH 09/20] staging: brcm80211: use endian annotated structures in brcmsmac
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-09-26 09:37:29
From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-09-26 09:37:29
On Sat, 2011-09-24 at 14:34 +0200, Arend van Spriel wrote:
On 09/24/2011 12:38 PM, Johannes Berg wrote:quoted
On Fri, 2011-09-23 at 19:08 -0700, Franky Lin wrote:quoted
struct d11rxhdr { u16 RxFrameSize; u16 PAD; + union { + struct d11rxhdr_le rxh_le; + struct d11rxhdr rxh_cpu; + };This seems a little strange. Why would it be both in LE and CPU byte order?Indeed. When we receive it from the device it is in LE and we convert it to CPU order for further processing using rxh_cpu.
That seems a confusing and error-prone -- you'll have to remember whether you're before or after conversion. Would it be possible to have two versions of the outer structure and change the pointer type at that point? johannes