I may be doing this all wong, but this is where I'm at so far: Based on this commit log: 3d5c656858cb84b937ed016fdf837c5ccc3b6a6c ARM: dts: N900: Add bluetooth b9ed79fa91c5271ca166dfde99883ca3afb190fe arm64: dts: rockchip: add regulator info for Kevin digitizer b4d8c7aea15efa8c6272c58d78296f8b017c4c6a iommu/iova: Fix compile error with CONFIG_IOMMU_IOVA=m edd849e5448c4f6ddc04a5fa1ac5479176660c27 Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next be5df20a34d78d986ddfb6e0fc87e4fa4d05268b Merge tag 'drm-intel-next-2017-03-20' of git://anongit.freedesktop.org/git/drm-intel into drm-next 9bdf64d511c5c23e39b7a58ff4056d839060c026 Merge branch 'bpf-map-in-map' fb30d4b71214aa1811e997f8f753b14b46d5b912 bpf: Add tests for map-in-map bcc6b1b7ebf857a9fe56202e2be3361131588c15 bpf: Add hash of maps support where: edd849e5448c4f6ddc04a5fa1ac5479176660c27 is the "BAD" commit be5df20a34d78d986ddfb6e0fc87e4fa4d05268b is the last "GOOD" commit These are the commits that comprise the "bad" merge commit generated by "git log --abbrev=40 --oneline edd849e5448c^..edd849e5448c" (the first code is my own personal "build code"): edd849e5448c4f6ddc04a5fa1ac5479176660c27 Merge tag 'drm-misc-next-2017-03-21' of git://anongit.freedesktop.org/git/drm-misc into drm-next #0925n 62c58af32c935a98a1e8d8ceb39a3a47b36fbbcd drm/edid: detect SCDC support in HF-VSDB #0925m afa1c763653e0fd68f2d1e3dca869c9453d8ef06 drm/edid: detect SCDC support in HF-VSDB #0925l 50dd1bd1e2395a78e5adfad96487092e215483e0 drm/edid: check for HF-VSDB block #0925k 3ad33ae2bc800496e979b9f7920a57835740083d drm: Add SCDC helpers #0925j 9aa1eca095579b8a8ea84d9bbd1fbdeff49cebd4 drm: bridge: dw-hdmi: add HDMI vendor specific infoframe config #0925i 94bb4dc132ed2e3a4d16649b0096c49d13670fe8 drm/bridge: dw_hdmi: support i2c extended read mode #0925h 3a270e4dcc8a0ee808fd1f2af52d45e8bcfeb9a6 drm/msm: add stubs for msm_{perf,rd}_debugfs_cleanup #0925g 4fa13dbe8c86382a846584e65c47bce09297f75b drm: bochs: Don't remove uninitialized fbdev framebuffer #0925f 7b34734816d5170f40329598390de22d0166e4e9 drm: vc4: remove redundant check of plane being non-null #0925e cc2e6da1b5a8986dc2831d5b63f4d0a15704e4f1 drm/vc4: use platform_register_drivers #0925d d5b72a2123dfaf9416b1a1177b4be041f8a8b6d4 dma-fence: add dma_fence_match_context helper #0925c bb7d78568814a31a11fa14f1479a9fe51f1582ad drm/vc4: Add HDMI audio support #0925b 199a76946d4303ce047e6ac9a49eefa0105f6e78 dt-bindings: Document the dmas and dma-names properties for VC4 HDMI #0924z 99ed4d7eb2870ef114b3a1309836d021005e4292 drm/atmel-hlcdc: Fix suspend/resume implementation #0924y 82c8e025b577a4b9b87fbbc2a1c4dd401e3a2521 drm: Skip the waitqueue setup for vblank queries #0924x 608b20506941969ea30d8c08dc9ae02bb87dbf7d drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off) #0924w 4a8e2292874e57ab6245ee16a8048729423d289d drm/doc: atomic overview, with graph #0924v b2b82c26c7c1702cacde241cf63137eddd6524bf drm/doc: diagram for mode objects and properties #0924u 1ea3576874790ba81ab00c3a0f1a3fc23e687062 drm/doc: Consistent kerneldoc include order #0924t 2564d0b043cbe9d762f97104029281102cfe4be2 drm/doc: Add KMS overview graphs b70366e5d31788650b2a5cec5cd13ea80ac7e44a Merge tag 'doc-4.11-images' of git://git.lwn.net/linux into drm-misc-next #0924s f42e181935d5e5670c87d31ae48063a495bbacae drm/gem: Add DEFINE_DRM_GEM_FOPS #0924r d55f7e5d54c31c8ed61fdbfc59835cd6804ba954 drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers #0924q 098899fee681b96905da97bbcce1a548e8f9e645 drm/vgem: switch to postclose #0924p b93658f83fa7f89cde5cfba7158da2be8cac42b2 drm/doc: Document drm_file.[hc] #0924o 7d52cb88c9ca20c32288de6ed62b32410c936ccc drm: Remove drm_pending_event->pid #0924n ee5cb7c465360f8eabc351196554e534675bdf6b drm: qxl: add missing return check #0924m 43c27940227039223abbb5107a2eb3d799c8a2ec drm: virtio: fix kmem_cache_alloc error check #0924l 265ffed739d313bd876c8faa9be15d3a101b8175 drm/tinydrm: fix semicolon.cocci warnings #0924k 9346ab7d72c0e0526bd9cea70fa4ad768fe27c20 drm/rockchip: cdn-dp: add more log for video config #0924j 05c00c2f196757cd59d5738ec4d02e365cf9e7a0 drm/rockchip: cdn-dp: Correct PHY register address #0924i a68b5bb6708e73d58b30680421df8166898e5cfc drm/rockchip: cdn-dp: return error code when clk_get_rate failed #0924h db6ccf23e8ba40fc2e8914ec9c0eb950df71d9fe docs-rst: automatically convert Graphviz and SVG images #0924g c3c53600f62b5fa92acf3a7f5eb71bacb25f6b01 doc: Explain light-handed markup preference a bit better #0924f 54f5d13b708a64177d4437a2b23fb05035f90716 Documentation: cpu-freq: cpu-drivers: Fix repetition of word 'to' #0924e 88486bee065ace1aa9cdd6fa48586ef3f2d62ec9 Documentation: ABI: testing: sysfs-bus-pci: Fix repetition of word 'the' #0924d b742fd6b0c701bdb2697a83f0acf8a702eb545c8 Documentation: phy: Fix repetition of word 'the' #0924c 49978be705dd7c202f58bb401ce82bdca6cf9756 docs: Clarify details for reporting security bugs If I create a build of the kernel based on be5df20a34d78d986ddfb6e0fc87e4fa4d05268b[1], then apply edd849e5448c4f6ddc04a5fa1ac5479176660c27[2] as a patch (which applies cleanly, and does not include the merge commit b70366e5d31788650b2a5cec5cd13ea80ac7e44a shown above), then the resulting build is BAD. I then proceeded to create builds starting with be5df20a34d78d986ddfb6e0fc87e4fa4d05268b, adding each individual non-merge commit from edd849e5448c4f6ddc04a5fa1ac5479176660c27[2] in turn, creating 37 builds[3] (tedious and inefficient, but thorough!), individually tested by my user who is an international man of mystery travelling around Europe and testing from his hotel suite with random hotel TVs (unknown Philips model in hotel, two different Sony models in his office/home). The first build #0924b corresponds to be5df20a34d78d986ddfb6e0fc87e4fa4d05268b[1], which is the last "GOOD" commit, and that is effectively our baseline. The next build #0924c is be5df20a34d78d986ddfb6e0fc87e4fa4d05268b[1] with 49978be705dd7c202f58bb401ce82bdca6cf9756[4] applied as a patch, and so on, adding one extra commit - as a patch - with each new build, until #0925n includes all 36 non-merge commits/patches on top of be5df20a34d78d986ddfb6e0fc87e4fa4d05268b. The user has now tested all of these builds and the first BAD build is #0924x after which all builds - #0924y, #0924z, #0925b etc. - are BAD. The new commit/patch in #0924x is "drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off)"[5] Unfortunately it's not possible to simply revert this commit from the latest 4.13.3 kernel - the code has been refactored - but I manually reverted it[6] (as best I could) and the user has tested 4.13.3 with the revert applied, and the resulting build is now GOOD. Without the commit reverted, ie. regular 4.13.3, the resulting build is BAD. So I'm pretty confident that 608b20506941969ea30d8c08dc9ae02bb87dbf7d[5] is the bad commit, responsible for the problem reported in bug #102818[7]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/snapshot/be5df20a.tar.gz 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/patch/?id=edd849e5448c4f6ddc04a5fa1ac5479176660c27 3. http://milhouse.libreelec.tv/builds/bisect5/Generic 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/patch/?id=49978be705dd7c202f58bb401ce82bdca6cf9756 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/patch/?id=608b20506941969ea30d8c08dc9ae02bb87dbf7d 6. http://sprunge.us/eELB 7. https://bugs.freedesktop.org/show_bug.cgi?id=102818