Skip to content

Commit

Permalink
p54: fix EEPROM structure endianness
Browse files Browse the repository at this point in the history
Since the EEPROM structure is read from hardware, it is
always little endian, annotate that in the struct and
make sure to convert where applicable.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Michael Wu <flamingice@sourmilk.net>
Tested-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Mar 4, 2008
1 parent dc63644 commit 8c28293
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion drivers/net/wireless/p54common.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
int err;

wrap = (struct eeprom_pda_wrap *) eeprom;
entry = (void *)wrap->data + wrap->len;
entry = (void *)wrap->data + le16_to_cpu(wrap->len);
i += 2;
i += le16_to_cpu(entry->len)*2;
while (i < len) {
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/wireless/p54common.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ struct pda_entry {
} __attribute__ ((packed));

struct eeprom_pda_wrap {
u32 magic;
u16 pad;
u16 len;
u32 arm_opcode;
__le32 magic;
__le16 pad;
__le16 len;
__le32 arm_opcode;
u8 data[0];
} __attribute__ ((packed));

Expand Down

0 comments on commit 8c28293

Please sign in to comment.