On Wednesday 30 March 2016 21:45:35 Jisheng Zhang wrote: > oh, missing some code: > #ifdef CONFIG_64BIT > data = ((u64)rx_desc->reserved5 << 32) | rx_desc->buf_cookie; > #else > data = (void*)rx_desc->buf_cookie; > #endif > >
Please use the upper_32_bits() and lower_32_bits() macros to split
up the pointer into two halves, and use the 64-bit version of the
code above unconditionally, that should both work on all architectures
without introducing any overhead.
Arnd
