From: "Eric W. Biederman" This allows the output of the msi tests to be stored directly in a bit field. If you don't do this a value greater than one will be truncated and become 0. Changing true to false with bizare consequences. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Benjamin Herrenschmidt Cc: Rajesh Shah Cc: Andi Kleen Cc: "Protasevich, Natalie" Cc: "Luck, Tony" Signed-off-by: Andrew Morton --- drivers/pci/msi.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/pci/msi.h~genirq-msi-make-the-msi-boolean-tests-return-either-0-or-1 drivers/pci/msi.h --- a/drivers/pci/msi.h~genirq-msi-make-the-msi-boolean-tests-return-either-0-or-1 +++ a/drivers/pci/msi.h @@ -110,8 +110,8 @@ extern int pci_vector_resources(int last (1 << ((control & PCI_MSI_FLAGS_QMASK) >> 1)) #define multi_msi_enable(control, num) \ control |= (((num >> 1) << 4) & PCI_MSI_FLAGS_QSIZE); -#define is_64bit_address(control) (control & PCI_MSI_FLAGS_64BIT) -#define is_mask_bit_support(control) (control & PCI_MSI_FLAGS_MASKBIT) +#define is_64bit_address(control) (!!(control & PCI_MSI_FLAGS_64BIT)) +#define is_mask_bit_support(control) (!!(control & PCI_MSI_FLAGS_MASKBIT)) #define msi_enable(control, num) multi_msi_enable(control, num); \ control |= PCI_MSI_FLAGS_ENABLE _