Drivers: hv: Fix the check for HYPERVISOR_CALLBACK_VECTOR

__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: 1dc5df133b ("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>
This commit is contained in:
Naman Jain 2025-07-07 14:13:22 +05:30 committed by Wei Liu
parent 0d86a8d65c
commit b0871aa0f8

View 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;