From: Jeff D. <je...@re...> - 2011-03-26 02:27:58
|
The lirc_atiusb driver (lirc-0.8.7) doesn't work with recent kernels because of the kfifo. The size of a kfifo must be a power of 2, but the driver wants 5 or 6 or 3, and kfifo_alloc rounds the request down to a power of 2. I can make it work by not using the kfifo: #undef LIRC_HAVE_KFIFO in lirc_dev.h I also made it work by changing code_length and decode_length in lirc_atiusb from 5 to 4. My remote, Snapstream Firefly, type ATI1, emits 4 byte codes. But this may not work for other remotes. I've tried increasing the allocated size of the kfifo to 8, but that doesn't work. Perhaps the read and write sizes also need to be powers of 2? Since lirc-0.9.0 always uses the kfifo, I can only make it work by changing the code_length to 4. Jeff |