[ Ancient code, but the fix should be obvious if anyone wanted to test it. - dan ] Hello Bradley Grove, The patch 9588d24e3600: "[SCSI] esas2r: Directly call kernel functions for atomic bit operations" from Oct 1, 2013, leads to the following static checker warning: drivers/scsi/esas2r/esas2r_init.c:858 esas2r_init_adapter_struct() warn: 'AF2_SERIAL_FLASH' is a shifter (not for '|='). drivers/scsi/esas2r/esas2r_init.c 849 /* 850 * the thunder_stream boards all have a serial flash part that has a 851 * different base address on the AHB bus. 852 */ 853 if ((a->pcid->subsystem_vendor == ATTO_VENDOR_ID) 854 && (a->pcid->subsystem_device & ATTO_SSDID_TBT)) 855 a->flags2 |= AF2_THUNDERBOLT; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This should be "a->flags2 |= BIT(AF2_THUNDERBOLT)" or set_bit(AF2_THUNDERBOLT, &&a->flags2); 856 857 if (test_bit(AF2_THUNDERBOLT, &a->flags2)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ So that it matches this line. 858 a->flags2 |= AF2_SERIAL_FLASH; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 859 860 if (a->pcid->subsystem_device == ATTO_TLSH_1068) 861 a->flags2 |= AF2_THUNDERLINK; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Same for these. But the code is really old and no one has noticed the bug... 862 863 /* Uncached Area */ 864 high = (u8 *)*uncached_area; 865 regards, dan carpenter