+#if !USEMEMPOOL
+ struct ppp_deflate_state *state = arg;
+ struct chunk_header *hdr;
+ unsigned nbytes;
+
+ nbytes = items * size + sizeof(*hdr);
+ if (state->in_alloc)
+ if (nbytes >= MIN_VMALLOC)
+ hdr = vmalloc(nbytes);
+ else
+ hdr = kmalloc(nbytes, GFP_KERNEL);
+ else
+ hdr = kmalloc(nbytes, GFP_ATOMIC);
+ if (hdr == 0)
+ return 0;
+ hdr->size = nbytes;
+ hdr->valloced = state->in_alloc && nbytes >= MIN_VMALLOC;
+ return (void *) (hdr + 1);
+#else