fix broadcom-wl patchtable
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 24 Jul 2006 07:10:13 +0000 (07:10 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 24 Jul 2006 07:10:13 +0000 (07:10 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4247 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/broadcom-wl/Makefile
package/broadcom-wl/src/kmod/Makefile
package/broadcom-wl/src/wlc/wlc.c

index e6f322f4c640248fe275ab8f006fc14312be4a61..068979a2ee4da56aeac59d10cb3105be1c5a26fc 100644 (file)
@@ -96,7 +96,7 @@ define wl_template
        install -d -m0755 $(1)/etc/modules.d
        echo "wl$(2)" > $(1)/etc/modules.d/20-wl$(2)
        install -d -m0755 $(1)/lib/modules/$(LINUX_VERSION)
-       install -m0644 $(PKG_BUILD_DIR)/kmod/wl$(2).o $(1)/lib/modules/$(LINUX_VERSION)/
+       install -m0644 $(PKG_BUILD_DIR)/kmod/wl$(2).o $(PKG_BUILD_DIR)/kmod/wl$(2).o.patch $(1)/lib/modules/$(LINUX_VERSION)/
 endef
 
 define Package/kmod-brcm-wl/install
index 9a7cb89818308dd42d673f3f1e601ee42fbfb6f2..ec33d8b6733bcc69373e7a96f19b15e56388d38d 100644 (file)
@@ -13,7 +13,7 @@
 
 EXTRA_CFLAGS += -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER
 
-O_TARGET       := wl_link$(MOD_NAME).o
+O_TARGET       := wl$(MOD_NAME).o
 
 obj-y          := wl_mod$(MOD_NAME).o
 obj-y          += bcmutils.o hnddma.o linux_osl.o
@@ -23,10 +23,9 @@ obj-m                := $(O_TARGET)
 wl_mod$(MOD_NAME).o: wl_apsta$(MOD_NAME).o
        sed -e 's,eth%d,wl%d\x00,g' < $< > $@
 
-wl$(MOD_NAME).o: wl_link$(MOD_NAME).o
-       $(OBJDUMP) -d $< | perl patchtable.pl > patchtable.bin
-       cat wl_link$(MOD_NAME).o patchtable.bin > $@
+wl$(MOD_NAME).o.patch: wl$(MOD_NAME).o
+       $(OBJDUMP) -d $< | perl patchtable.pl > $@
 
-modules: wl$(MOD_NAME).o
+modules: wl$(MOD_NAME).o.patch
 
 include $(TOPDIR)/Rules.make
index 99237c095a3e634794e600fc1d8324cc4a91d619..76096df5ce920996756d60538cb58cff78b33bd8 100644 (file)
@@ -128,7 +128,7 @@ static int ptable_init(void)
        if (ptable[0] == PTABLE_MAGIC)
                return 0;
        
-       glob("/lib/modules/2.4.*/wl.o", 0, NULL, &globbuf);
+       glob("/lib/modules/2.4.*/wl.o.patch", 0, NULL, &globbuf);
        
        if (globbuf.gl_pathv[0] == NULL)
                return -1;
@@ -139,13 +139,8 @@ static int ptable_init(void)
        if (fstat(fd, &statbuf) < 0)
                goto failed;
 
-       if (statbuf.st_size <= 512)
+       if (statbuf.st_size < 512)
                goto failed;
-       
-       if (lseek(fd, statbuf.st_size - 512, SEEK_SET) < 0) {
-               perror("lseek");
-               goto failed;
-       }
 
        if (read(fd, ptable, 512) < 512)
                goto failed;