diff --git a/Makefile.module b/Makefile.module index f47f49e..0fdea9d 100644 --- a/Makefile.module +++ b/Makefile.module @@ -13,8 +13,9 @@ default: $(TARGETS) all: $(TARGETS) -Rules.make: $(KDIR)/Rules.make +Rules.make: $(KDIR)/Rules.make Rules.make.ext cp -pf $(KDIR)/Rules.make . + cat Rules.make.ext >> Rules.make .config: $(KDIR)/.config cp -pf $(KDIR)/.config . @@ -42,3 +43,6 @@ $(TARGET): install: $(TARGETS) $(MAKE) -f Makefile KDIR=$(KDIR) TARGETDIR=$(TARGETDIR) install_mod install newinclude/linux/hisaxif.h /usr/include/linux + +modlist: + $(MAKE) -f Makefile KDIR=$(KDIR) TARGETDIR=$(TARGETDIR) modlist diff --git a/Makefile.standalone b/Makefile.standalone index b93c436..ebecc22 100644 --- a/Makefile.standalone +++ b/Makefile.standalone @@ -6,7 +6,6 @@ KDIR = /usr/src/linux DESTDIR = TARGET = TARGETS := $(TARGET) -TARGETMODDIR = "../misc" default: $(TARGETS) @@ -34,6 +33,9 @@ newhisax: $(TARGETDIR) newhisax_mod $(MAKE) -C $(TARGETDIR) CFLAGS="$(CFLAGS)" MAKING_MODULES=1 modules ifeq ($(PATCHLEVEL), 2) + +TARGETMODDIR = misc + install: install_mod install_mod: modules_install @@ -43,6 +45,9 @@ newhisax_mod: mkdir -p modules else + +TARGETMODDIR = ../misc + newhisax_mod: echo patchlevel $(PATCHLEVEL) @@ -55,3 +60,7 @@ $(MODLIB)/$(TARGETMODDIR): mkdir -p $(MODLIB)/$(TARGETMODDIR) endif + +modlist: $(MODLIB)/$(TARGETMODDIR) + $(MAKE) -C $(TARGETDIR) MOD_DESTDIR=$(TARGETMODDIR) mod_list + diff --git a/drivers/isdn/hardware/mISDN/contr.c b/drivers/isdn/hardware/mISDN/contr.c index f6ff4aa..8e2d6c4 100644 --- a/drivers/isdn/hardware/mISDN/contr.c +++ b/drivers/isdn/hardware/mISDN/contr.c @@ -25,7 +25,7 @@ int contrConstr(Contr_t *contr, hisaxstack_t *st, hisax_pid_t *pid, hisaxobject_ return(-ENOPROTOOPT); } while(cst) { - if (!(binst = kmalloc(sizeof(BInst_t), GFP_KERNEL))) { + if (!(binst = kmalloc(sizeof(BInst_t), GFP_ATOMIC))) { printk(KERN_ERR "no mem for Binst\n"); int_error(); return -ENOMEM; @@ -147,7 +147,7 @@ void contrRegisterAppl(Contr_t *contr, __u16 ApplId, capi_register_params *rp) int_error(); return; } - appl = kmalloc(sizeof(Appl_t), GFP_KERNEL); + appl = kmalloc(sizeof(Appl_t), GFP_ATOMIC); if (!appl) { int_error(); return; @@ -394,7 +394,7 @@ BInst_t *contrSelChannel(Contr_t *contr, int channr) if (!cst) return(NULL); while(cst) { - if (!(binst = kmalloc(sizeof(BInst_t), GFP_KERNEL))) { + if (!(binst = kmalloc(sizeof(BInst_t), GFP_ATOMIC))) { printk(KERN_ERR "no mem for Binst\n"); int_error(); return(NULL); diff --git a/drivers/isdn/hardware/mISDN/isar.c b/drivers/isdn/hardware/mISDN/isar.c index 3b40b26..cf77e2a 100644 --- a/drivers/isdn/hardware/mISDN/isar.c +++ b/drivers/isdn/hardware/mISDN/isar.c @@ -216,7 +216,7 @@ isar_load_firmware(bchannel_t *bch, u_char *buf, int size) cnt = 0; /* disable ISAR IRQ */ bch->BC_Write_Reg(bch->inst.data, 0, ISAR_IRQBIT, 0); - if (!(msg = kmalloc(256, GFP_KERNEL))) { + if (!(msg = kmalloc(256, GFP_ATOMIC))) { printk(KERN_ERR"isar_load_firmware no buffer\n"); bch->inst.unlock(bch->inst.data); return (1); diff --git a/drivers/isdn/hardware/mISDN/udevice.c b/drivers/isdn/hardware/mISDN/udevice.c index 5f5bbe7..e2af9ce 100644 --- a/drivers/isdn/hardware/mISDN/udevice.c +++ b/drivers/isdn/hardware/mISDN/udevice.c @@ -801,7 +801,7 @@ dev_init_timer(hisaxdevice_t *dev, iframe_t *iff) ht = get_devtimer(dev, iff->addr); if (!ht) { - ht = kmalloc(sizeof(hisaxtimer_t), GFP_KERNEL); + ht = kmalloc(sizeof(hisaxtimer_t), GFP_ATOMIC); if (!ht) return(-ENOMEM); ht->prev = NULL;