From ec938bb5c4be0a79f1fafd24052bc6f0aefaeed6 Mon Sep 17 00:00:00 2001 From: florian Date: Wed, 1 May 2013 21:12:26 +0000 Subject: brcm63xx: remove 3.7 kernel support Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36504 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...PS-BCM63XX-fix-nvram-checksum-calculation.patch | 66 ---------------------- 1 file changed, 66 deletions(-) delete mode 100644 target/linux/brcm63xx/patches-3.7/005-MIPS-BCM63XX-fix-nvram-checksum-calculation.patch (limited to 'target/linux/brcm63xx/patches-3.7/005-MIPS-BCM63XX-fix-nvram-checksum-calculation.patch') diff --git a/target/linux/brcm63xx/patches-3.7/005-MIPS-BCM63XX-fix-nvram-checksum-calculation.patch b/target/linux/brcm63xx/patches-3.7/005-MIPS-BCM63XX-fix-nvram-checksum-calculation.patch deleted file mode 100644 index cbe0b96bf..000000000 --- a/target/linux/brcm63xx/patches-3.7/005-MIPS-BCM63XX-fix-nvram-checksum-calculation.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 7180de9a27ce433efc15bc1982b9a9e4ba3c48dc Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Sat, 10 Nov 2012 02:04:58 +0100 -Subject: [PATCH] MIPS: BCM63XX: fix nvram checksum calculation - -The current checksum calculation code does nothing except checking that -the first byte of nvram is 0 without actually checking the checksum. - -Implement the correct checksum calculation by calculating the crc32 with -the checksum field set to 0. - -Signed-off-by: Jonas Gorski ---- - -This patch depends on the previous nvram patch ("move nvram functions -into their own file"). - - arch/mips/bcm63xx/nvram.c | 23 +++++++++++++---------- - 1 files changed, 13 insertions(+), 10 deletions(-) - ---- a/arch/mips/bcm63xx/nvram.c -+++ b/arch/mips/bcm63xx/nvram.c -@@ -11,6 +11,7 @@ - #define pr_fmt(fmt) "bcm63xx_nvram: " fmt - - #include -+#include - #include - #include - #include -@@ -40,23 +41,25 @@ static int mac_addr_used; - int __init bcm63xx_nvram_init(void *addr) - { - unsigned int check_len; -- u8 *p; -- u32 val; -+ u32 crc, expected_crc; - - /* extract nvram data */ - memcpy(&nvram, addr, sizeof(nvram)); - - /* check checksum before using data */ -- if (nvram.version <= 4) -- check_len = offsetof(struct bcm963xx_nvram, checksum_old); -- else -+ if (nvram.version <= 4) { -+ check_len = offsetof(struct bcm963xx_nvram, reserved3); -+ expected_crc = nvram.checksum_old; -+ nvram.checksum_old = 0; -+ } else { - check_len = sizeof(nvram); -- val = 0; -- p = (u8 *)&nvram; -+ expected_crc = nvram.checksum_high; -+ nvram.checksum_high = 0; -+ } - -- while (check_len--) -- val += *p; -- if (val) -+ crc = crc32_le(~0, (u8 *)&nvram, check_len); -+ -+ if (crc != expected_crc) - return -EINVAL; - - return 0; -- cgit v1.2.3