I guess the reporter tries to compile from SUSE kernel git tree. It's different from the upstream Linux kernel git tree. SUSE kernel git contains only SUSE-specific patches, and doesn't contain the base kernel source itself. There is an expanded SUSE kernel tree that contains the whole Linus kernel tree, too. You may use this tree, or just use Linus tree instead. FYI, the Linus tree is found at git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Also, you can create a minimal kernel config matching for the running system via "make localmodconfig". That is, 1. boot the working SUSE 3.8 kernel 2. Confirm BT is working there 3. On the Linus git tree: % git checkout v3.8 % make localmodconfig Then edit .config file, especially better to modify CONFIG_LOCALVERSION to something unique, e.g. "-test". 4. Build, install and test. After confirming this self-made 3.8 kernel works, save your .config file once. Then do "git checkout v3.9", and "make localconfig", press many RETURN keys until all satisfied, build, install and retest 3.9 kernel. Once when confirming this 3.9 kernel is really broken, you can start bisection there. Save .config file for 3.9 kernel as well. Then do "git bisect start", "git bisect good v3.8", "git bisect bad v3.9". You may need to copy the backup .config either from 3.8 or 3.9 during bisection. Have fun :)