On Dec 16 2006 13:55, Divy Le Ray wrote: >> > A corresponding monolithic patch is posted at the following URL: >> > http://service.chelsio.com/kernel.org/cxgb3.patch.bz2 >> > >> >> I was unable to compile this on 2.6.20-rc1, because: >> >> CC [M] drivers/net/cxgb3/cxgb3_offload.o >> drivers/net/cxgb3/cxgb3_offload.c: In function ‘cxgb_free_mem’: >> drivers/net/cxgb3/cxgb3_offload.c:1004: error: ‘PKMAP_BASE’ undeclared >> (first use in this function) >> >> However, line 1004 is: >> >> if (p >= VMALLOC_START && p < VMALLOC_END) >> >> and include/asm/pgtable.h: >> >> # ifdef CONFIG_HIGHMEM >> # define VMALLOC_END (PKMAP_BASE-2*PAGE_SIZE) >> # else >> # define VMALLOC_END (FIXADDR_START-2*PAGE_SIZE) >> # endif >> >> So include/asm/pgtable.h lacks inclusion of include/asm/highmem.h, >> where PKMAP_BASE is defined. Adding it gives me more compile errors. >> Not good. Does anyone have a patch to fix that? >> > > I've never tripped on this. I cannot reproduce it.
Enable CONFIG_HIGHMEM4G or CONFIG_HIGHMEM64G. > Would you mind trying this: > add #include <linux/highmem.h> in drivers/net/cxgb3/cxgb3_offload.c > and see if it fixes the compilation ? Yes 'fixes' it. But such a change seems bogus to me. You are using VMALLOC_END, hence you should include the .h file which contains VMALLOC_END, and nothing more. Of course there are exceptions to this (like getting at elevator.h's stuff by means of inclusion of blkdev.h) -`J' --