Index: kat/scatterlist_has_page.c =================================================================== --- kat/scatterlist_has_page.c (revision 393) +++ kat/scatterlist_has_page.c (working copy) @@ -1,7 +1,10 @@ #include #include +/* Note: scatterlist.page is used in kernel (2.6.0 <= version < 2.6.24) */ + -struct scatterlist s = { .page = 0 }; +struct scatterlist s = { .page_link = 0 }; -//T#define KAT_SCATTERLIST_HAS_PAGE +//T#define KAT_SCATTERLIST_HAS_PAGE_LINK //F#include + Index: vhba.c =================================================================== --- vhba.c (revision 393) +++ vhba.c (working copy) @@ -566,10 +566,10 @@ } uaddr += len; -#ifdef KAT_SCATTERLIST_HAS_PAGE +#ifdef KAT_SCATTERLIST_HAS_PAGE_LINK + kaddr = kmap_atomic(sg_page(&sg[i]), KM_USER0); +#else kaddr = kmap_atomic(sg[i].page, KM_USER0); -#else - kaddr = kmap_atomic(sg_page(&sg[i]), KM_USER0); #endif memcpy(kaddr + sg[i].offset, kbuf, len); kunmap_atomic(kaddr, KM_USER0);