[PATCH] drm/sysfb: ofdrm: Fix is_avivo() constant comparison bug

From: oushixiong1025

Date: Fri Jul 24 2026 - 05:49:54 EST


From: Shixiong Ou <oushixiong@xxxxxxxxxx>

The is_avivo() function has a logic error where it compares a constant
to another constant instead of checking the device parameter:

(PCI_VENDOR_ID_ATI_R600 >= 0x9400)

However, according to the code comment and the OFDRM_MODEL_AVIVO
definition ("ATI R5xx"), this function is intended to match only R5xx
cards (device IDs 0x7100-0x7800), not R6xx or later. The second
condition checking for R600 is erroneous and should be removed.

Signed-off-by: Shixiong Ou <oushixiong@xxxxxxxxxx>
---
drivers/gpu/drm/sysfb/ofdrm.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/sysfb/ofdrm.c b/drivers/gpu/drm/sysfb/ofdrm.c
index a6dc34b9ec0f..ea1db1cfe3ed 100644
--- a/drivers/gpu/drm/sysfb/ofdrm.c
+++ b/drivers/gpu/drm/sysfb/ofdrm.c
@@ -238,8 +238,7 @@ static bool is_avivo(u32 vendor, u32 device)
{
/* This will match most R5xx */
return (vendor == PCI_VENDOR_ID_ATI) &&
- ((device >= PCI_VENDOR_ID_ATI_R520 && device < 0x7800) ||
- (PCI_VENDOR_ID_ATI_R600 >= 0x9400));
+ (device >= PCI_VENDOR_ID_ATI_R520 && device < 0x7800);
}

static enum ofdrm_model display_get_model_of(struct drm_device *dev, struct device_node *of_node)
--
2.25.1


No virus found
Checked by Hillstone Network AntiVirus