diff options
author | Hauke Mehrtens <hauke@openwrt.org> | 2013-02-16 13:46:00 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@openwrt.org> | 2013-02-16 13:46:00 +0000 |
commit | 2a28660d300176ce13dd419be469e91767c9c076 (patch) | |
tree | b28c4659646327389c5e7fd5c245347653fa79f6 /target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch | |
parent | 117f7697ec09d0ca69959882c4454d41b6794e7f (diff) | |
download | upstream-2a28660d300176ce13dd419be469e91767c9c076.tar.gz upstream-2a28660d300176ce13dd419be469e91767c9c076.tar.bz2 upstream-2a28660d300176ce13dd419be469e91767c9c076.zip |
brcm47xx: fix unaligned access to mac address
The mac address should be aligned to u16 to prevent an unaligned access
in drivers/ssb/pci.c where it is casted to __be16.
This closes #9824.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35618 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch b/target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch new file mode 100644 index 0000000000..0a4dd62487 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch @@ -0,0 +1,18 @@ +--- a/include/linux/ssb/ssb.h ++++ b/include/linux/ssb/ssb.h +@@ -26,6 +26,7 @@ struct ssb_sprom_core_pwr_info { + + struct ssb_sprom { + u8 revision; ++ u8 country_code; /* Country Code */ + u8 il0mac[6]; /* MAC address for 802.11b/g */ + u8 et0mac[6]; /* MAC address for Ethernet */ + u8 et1mac[6]; /* MAC address for 802.11a */ +@@ -36,7 +37,6 @@ struct ssb_sprom { + u16 board_rev; /* Board revision number from SPROM. */ + u16 board_num; /* Board number from SPROM. */ + u16 board_type; /* Board type from SPROM. */ +- u8 country_code; /* Country Code */ + char alpha2[2]; /* Country Code as two chars like EU or US */ + u8 leddc_on_time; /* LED Powersave Duty Cycle On Count */ + u8 leddc_off_time; /* LED Powersave Duty Cycle Off Count */ |