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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .