irqsave GFP_ATOMIC should be used in irq context

This commit is contained in:
Karsten Keil 2001-11-01 00:42:35 +00:00
parent feabe3ecac
commit 3843f8c931
5 changed files with 20 additions and 7 deletions

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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;