I sat staring at this code for a long time, scratching my head as to how the patched code could behave differently. Finally, after a bit of Googling, the problem is pretty apparent now. The problem is that an unsigned integer is being initialized with a negative number. Thus, the test (i915_panel_use_ssc >= 0) succeeds, forcing the override to occur when the module parameter is the default (-1). It looks like this commit fixes the issue by making the module parameters signed: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=4415e63b13c68c2f56d16d400a1ae345f68cf655
I sat staring at this code for a long time, scratching my head as to how the patched code could behave differently. Finally, after a bit of Googling, the problem is pretty apparent now. The problem is that an unsigned integer is being initialized with a negative number. Thus, the test (i915_panel_use_ssc >= 0) succeeds, forcing the override to occur when the module parameter is the default (-1). It looks like this commit fixes the issue by making the module parameters signed: git.kernel. org/?p= linux/kernel/ git/torvalds/ linux.git; a=commit; h=4415e63b13c68 c2f56d16d400a1a e345f68cf655
http://