Bad variable names
I suspect real dma ops stacking will need some further thought than
your simple hacks
Note that on 32bit page_address() might be not mapped.
Are you sure that's correct? It looks quite bogus. order is a 2 logarithm,
normally npages = 1 << order
if you want npages from order the correct need 1 << order
Haven't read further, but to be honest the code doesn't seem to be anywhere
near merging quality.
-Andi
--