From f1b4824c865b228039d84b2605b2e7e4f34cddeb Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 21 Jun 2013 16:54:37 +0000 Subject: packages: clean up the package folder Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37007 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/100-fix_nvram_two_devices.patch | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch (limited to 'package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch') diff --git a/package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch b/package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch new file mode 100644 index 0000000000..5650862f83 --- /dev/null +++ b/package/kernel/broadcom-wl/patches/100-fix_nvram_two_devices.patch @@ -0,0 +1,32 @@ +--- a/driver/nvram_stub.c ++++ b/driver/nvram_stub.c +@@ -22,6 +22,7 @@ typedef struct _vars { + #define VARS_T_OH sizeof(vars_t) + + static vars_t *vars = NULL; ++static int nvram_init_done = 0; + extern char *nvram_buf[]; + + int +@@ -33,6 +34,10 @@ BCMATTACHFN(nvram_init)(void *si) + uint nvs, bufsz; + vars_t *new; + ++ nvram_init_done++; ++ if (nvram_init_done != 1) ++ return 0; ++ + osh = si_osh(sih); + + nvs = R_REG(osh, &nvh->len) - sizeof(struct nvram_header); +@@ -79,6 +84,10 @@ BCMATTACHFN(nvram_exit)(void *si) + vars_t *this, *next; + si_t *sih; + ++ nvram_init_done--; ++ if (nvram_init_done != 0) ++ return 0; ++ + sih = (si_t *)si; + this = vars; + while (this) { -- cgit v1.2.3