From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A4D02DB78C for ; Fri, 24 Jul 2026 13:22:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.3 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784899332; cv=none; b=PImm9dtwqYLkIxYQrsHwxUjP6q/SjY0wQkyttMKd3YpkCBemfvJLGVbDH72Mdwu/xwHS6LeZ7NnxnOHoNkjdkqdmERWvmQEkDsAcmitlxbQM+i33LPMGmj5z8vxyOZMwzWaTP9vz8HFbXFD/QhD8LoNt0H5bVvya0xmoav1pB4A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784899332; c=relaxed/simple; bh=KLSrWZzk/qHkfjh69iECtLIDYZJeUNz0CvJFpCHVPJU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=sNnbObPB01mc6ERRH32TIs2vYCmbyEY+RwbuKZ18EdixsOZJtnc/nk1Z4bWyw+jwXhhYOkEIMR6rqLtmNknDi+md+X5vR/aRjJ3BYUkxMoHVc1KwyptT7G7xTNbKtiV8ypNSLIauvG+OEv0qPC33QmonaPY0Xh4gziX2sSGULlk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=oTl28srz; arc=none smtp.client-ip=117.135.210.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="oTl28srz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Message-ID:Date:MIME-Version:Subject:To:From: Content-Type; bh=Wjaou3mX4URepSGIa0U0CyNIwWOwgXeICGdFFBrSZMk=; b=oTl28srzwynvVBiWjhfmO/RCORvEMa/q4E210ROOE+FjOGb3SBYafN4iqOE/CO hRGk7tu61PO7nEA/7Cywg5V4OlRL4YQ6JcWbPNRl2hfGzOFIB3PQbxIaOP0VhhUb w6NtlOkwbmyHhk8Sl5jiXX+LDJq+K6TGe26to76TzHTlM= Received: from [IPV6:240e:382:1070:9c00:8839:563d:d90d:8fd0] (unknown []) by gzga-smtp-mtada-g1-4 (Coremail) with SMTP id _____wDXVInIZmNqeUj5Lg--.1250S2; Fri, 24 Jul 2026 21:21:15 +0800 (CST) Message-ID: <6b37e718-becc-41d0-8d94-5858293a2f3f@163.com> Date: Fri, 24 Jul 2026 21:21:11 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] drm/sysfb: ofdrm: Fix is_avivo() constant comparison bug To: Thomas Zimmermann Cc: Javier Martinez Canillas , Maarten Lankhorst , Maxime Ripard , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.or, linux-kernel@vger.kernel.org, Shixiong Ou References: <20260724094140.799730-1-oushixiong1025@163.com> Content-Language: en-US From: Shixiong Ou In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wDXVInIZmNqeUj5Lg--.1250S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7tFWfAr1UZF1Uur1xCF4kJFb_yoW8Zr4UpF W5Ka4vkr4Dtr1UK3yj9r4xXrs0van7XFWrCFsxKws09wsYvr90qFZ8tFWYya45A397CFya qas8W34xAF1DCrJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zRw0eJUUUUU= X-CM-SenderInfo: xrxvxxx0lr0wirqskqqrwthudrp/xtbC4Q1AT2pjZs36sAAA3L On 2026/7/24 19:34, Thomas Zimmermann wrote: > Hi > > Am 24.07.26 um 11:41 schrieb oushixiong1025@163.com: >> From: Shixiong Ou >> >> 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 >> --- >>   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)); > > I tried to match exactly this: > https://elixir.bootlin.com/linux/v7.1.4/source/drivers/video/fbdev/offb.c#L365 > > IDK if that works in practice, but I don't dare changing it without a > concrete bug report. > > Best regards > Thomas > Hi, PCI_VENDOR_ID_ATI_R600 is defined as 0x9400 . Therefore, this expression always evaluates to true (0x9400 >= 0x9400). It does not depend on the device parameter passed to is_avivo(). So is this a coding mistake? Best regards Shixiong Ou. >> +           (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) >