I'm trying to build some drivers for a TV tuner and I am getting this error when I build:

make -s -C /lib/modules/3.2.0-23-generic/build SUBDIRS=/home/jtp/IT9135_SRC modules
In file included from /home/jtp/IT9135_SRC/it9135-core.c:21:0:
/home/jtp/IT9135_SRC/it9135.h:11:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/home/jtp/IT9135_SRC/it9135-core.o] Error 1
make[1]: *** [_module_/home/jtp/IT9135_SRC] Error 2
make: *** [default] Error 2

What am I missing?

2 Answers 2


<linux/smp_lock.h> is the header file for the "Big Kernel Lock", which no longer exists as of 2.6.39. The author of this driver needs to do some work to modernize it.

Also, I see that newer kernels have a dvb-usb-it913x module included. Maybe you can stop using the old out-of-tree driver and use that instead?


if "/lib/modules/...../build/linux/smp_lock.h" is not exists, you can compile with only dummy.

nano /lib/modules/...../build/linux/smp_lock.h

and write

// this is dummy!

then ctrl + X and press Y and try to compile.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.