That's still a form of debugging. It's all a matter of perspective. If you had a hardware device that you were interacting directly with in an applicaiton, and you found that if you utilized in in a specific way it crashed, so you changed how the application used it so it wouldn't crash, that would be debugging the application, even if not really debugging the hardware.
This commit in upstream ends up getting split in half:
https://github.com/torvalds/linux/commit/8ce29c679a6ecefb88d...
With only 3 lines of it getting pulled into i40e-2.13.10:
https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#...
https://github.com/dmarion/i40e/blob/master/src/i40e_txrx.c#...
(Can't link git diff line for 2.13.10->2.14.13 because diff is too big, annoying!)
And the final line getting pulled into i40e-2.14.13:
https://github.com/dmarion/i40e/commit/135d6d885aa4704180e10...
--- if (unlikely(!pagecnt_bias)) {
+++ if (unlikely(pagecnt_bias == 1)) {
Best thing I can find in i40e_txrx.c where a single patch in Linux upstream got split across 2.13.10 and 2.14.13. Not a smoking gun exactly, still some exercise left for the reader.