You can use the android release m6.0.1_2.1.0-ga's kernel, which is base on 4.1.15 linux release.
Or do the adb function backports to the Linux 4.1.15.
All the differences are just in the
drivers/usb/gadget/Kconfig
drivers/usb/gadget/configfs.c
include/linux/usb/composite.h