]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Drivers: hv: Fix the check for HYPERVISOR_CALLBACK_VECTOR
authorNaman Jain <namjain@linux.microsoft.com>
Mon, 7 Jul 2025 08:43:22 +0000 (14:13 +0530)
committerWei Liu <wei.liu@kernel.org>
Wed, 9 Jul 2025 23:24:36 +0000 (23:24 +0000)
__is_defined(HYPERVISOR_CALLBACK_VECTOR) would return 1, only if
HYPERVISOR_CALLBACK_VECTOR macro is defined as 1. However its value is
0xf3 and this leads to __is_defined() returning 0. The expectation
was to just check whether this MACRO is defined or not and get 1 if
it's defined. Replace __is_defined with #ifdef blocks instead to
fix it.

Fixes: 1dc5df133b98 ("Drivers: hv: vmbus: Get the IRQ number from DeviceTree")
Cc: stable@kernel.org
Signed-off-by: Naman Jain <namjain@linux.microsoft.com>
Reviewed-by: Roman Kisel <romank@linux.microsoft.com>
Link: https://lore.kernel.org/r/20250707084322.1763-1-namjain@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <20250707084322.1763-1-namjain@linux.microsoft.com>

drivers/hv/vmbus_drv.c

index 33b524b4eb5ef89d0111442a34d39874f02f0b70..2ed5a1e89d694fe95200f35d5e1ca435d454f146 100644 (file)
@@ -2509,7 +2509,7 @@ static int vmbus_acpi_add(struct platform_device *pdev)
        return 0;
 }
 #endif
-
+#ifndef HYPERVISOR_CALLBACK_VECTOR
 static int vmbus_set_irq(struct platform_device *pdev)
 {
        struct irq_data *data;
@@ -2534,6 +2534,7 @@ static int vmbus_set_irq(struct platform_device *pdev)
 
        return 0;
 }
+#endif
 
 static int vmbus_device_add(struct platform_device *pdev)
 {
@@ -2549,11 +2550,11 @@ static int vmbus_device_add(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       if (!__is_defined(HYPERVISOR_CALLBACK_VECTOR))
-               ret = vmbus_set_irq(pdev);
+#ifndef HYPERVISOR_CALLBACK_VECTOR
+       ret = vmbus_set_irq(pdev);
        if (ret)
                return ret;
-
+#endif
        for_each_of_range(&parser, &range) {
                struct resource *res;