summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-02-16 13:46:00 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-02-16 13:46:00 +0000
commitd51a4ab0aa835f1be4dc55b1267f0a25e3819d3a (patch)
treeb28c4659646327389c5e7fd5c245347653fa79f6 /target/linux/brcm47xx/patches-3.6/270-ssb-fix-unaligned-access-to-mac-address.patch
parent48712e4fd2097c8427801e9e428e654af55c86b9 (diff)
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.patch18
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 */