This patch solves the issue described in this post: http://lkml.org/lkml/2004/8/26/119 by using __u16 and __u8 in place of u16 and u8, that aren't exported outside the kernel. If it's really trivial to use u16 and u8 for crc-ccitt.h, another way of solving this could be to use #ifdef __KERNEL__ in crc-ccitt.h to separate userspace usage from kernel matters. Regards, Giacomo Lozito