I just ran the static analyser cppcheck over the source code of the linux kernel version 3.5-rc5. It said 1. [linux-3.5-rc5/drivers/pci/hotplug/cpqphp_ctrl.c:2893]: (style) Expression '(X & 0xb) == 0x4' is always false The source code is } else if ((temp_register & 0x0BL) == 0x04) { Clearly broken code. I am not sure what the fix is. 2. [linux-3.5-rc5/drivers/pci/hotplug/cpqphp_ctrl.c:2909]: (style) Expression '(X & 0xb) == 0x6' is always false The source code is } else if ((temp_register & 0x0BL) == 0x06) { Duplicate.
It will always take the 0x00 path instead of the 0x04 or 0x06 paths. This appears harmless.
A patch referencing this bug report has been merged in Linux v3.7-rc1: commit b161dabc3d3004ea56a8d20b0f5ec9bf68e67180 Author: Alan Cox <alan@linux.intel.com> Date: Tue Sep 4 15:39:57 2012 +0100 PCI: cpqphp: Remove unreachable path