Sorry for the long latency of my response, as I've been traveling often for now. And thanks for narrowing down the range. Up from this point, we need more detailed tests from you: namely, compiling the kernel by yourself and examining the regression point via git bisect. As a start, install gcc, git-core and make packages if not yet present. Then clone the linux kernel git repo from upstream % mkdir /somewhere/kernel % cd /somewhere/kernel % git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git where /somewhere/kernel is any directory you prefer to put the repo and build. Note that this will fetch many data from the net. Then, boot with 3.17 kernel. Then, checkout v3.17, and do localconfig. % cd /somewhere/kernel/linux % git checkout v3.17 % make localconfig This might ask you something, and usually just press RETURN for each to choose the default. In the end, you'll have ".config" file matching with your running system. Edit this file via a text editor and change CONFIG_LOCALVERSION to a different value, e.g. "-bisect". After the configuration, do make. Better to with -j4 or such to build parallel. % make -j4 Once when everything is done, install it. Be root, then run make install. % su % make install Then reboot to this kernel, and confirm that it still works. The next is to check 3.18 that should be broken. % cd /somewhere/kernel/linux % git checkout v3.18 At this point, better to backup your old config % cp .config .config.3.17 and run make oldconfig again, adjust to 3.18. % make oldconfig Rebuild, reinstall, and retest. Confirm that 3.18 is really broken. Now we start git bisection. Boot any good working kernel. Maybe good to backup 3.18 config again before starting git bisection. % cd /somewhere/kernel % cp .config .config.3.18 OK, here we go. % git bisect start % git bisect good v3.17 % git bisect bad v3.18 This will lead you some commit between 3.17 and 3.18. Do make localconfig, rebuild, reinstall, and retest. If this test kernel works, give "git bisect good". Otherwise reboot with a working kernel, and give "git bisect bad". Then git will lead you to yet another point, and you rebuild, reinstall and retest. Repeat this until you hit the regression point. You can see the current bisection process at any time via "git bisect log". Note that git bisect sometimes jumps to an old kernel version suddenly. This is normal, as the commit is actually based on that version. So, at installing and testing the kernel, be careful which kernel you're testing. While testing, you can remove the old installed kernels. I don't know a good default way for that, but you can just remove /lib/modules/$VERSION directory as well as /boot/vmlinuz-$VERSION, /boot/initrd-$VERSION and /boot/System.map-$VERSION. After cleaning up, run below as root /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg to refresh the GRUB menu. Oh, and after the bisection is done, run "git bisect reset" to reset the bisection state. Don't forget to save your bisection procedure from "git bisect log" beforehand.