NetBSD Problem Report #52760
From www@NetBSD.org Sat Nov 25 00:55:57 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id D1D997A19F
for <gnats-bugs@gnats.NetBSD.org>; Sat, 25 Nov 2017 00:55:57 +0000 (UTC)
Message-Id: <20171125005556.9712C7A1EE@mollari.NetBSD.org>
Date: Sat, 25 Nov 2017 00:55:56 +0000 (UTC)
From: qfh02545@nifty.com
Reply-To: qfh02545@nifty.com
To: gnats-bugs@NetBSD.org
Subject: Cannot parse VCE firware version in radeon_vce.c
X-Send-Pr-Version: www-1.0
>Number: 52760
>Category: kern
>Synopsis: Cannot parse VCE firware version in radeon_vce.c
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: mrg
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Nov 25 01:00:00 +0000 2017
>Closed-Date: Mon Mar 23 17:31:15 +0000 2020
>Last-Modified: Mon Mar 23 17:31:15 +0000 2020
>Originator: HITOSHI Osada
>Release: NetBSD-current
>Organization:
>Environment:
NetBSD athlon5350 8.99.7 NetBSD 8.99.7 (ATHLON5350KMS) #0: Sun Nov 19 23:26:17 JST 2017 that@athlon5350:/tmp/obj/sys/arch/amd64/compile/ATHLON5350KMS amd64
>Description:
In sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c, scan_2dec_{u8,uint} is used for parsing VCE versions.
However scan_2dec_{u8,uint} cannot parse /libdata/firmware/radeon/BONAIRE_vce.bin firmware version(40.2.2).
>How-To-Repeat:
boot radeonkms-enabled netbsd with GCN radeon.
>Fix:
diff --git a/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c b/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
index cf2ff610be..8fd9c766a1 100644
--- a/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
+++ b/sys/external/bsd/drm2/dist/drm/radeon/radeon_vce.c
@@ -52,8 +52,13 @@ scan_2dec_u8(const char **sp, char delim, uint8_t *u8p)
if (!isdigit((unsigned char)(c0 = *(*sp)++)))
return false;
- if (!isdigit((unsigned char)(c1 = *(*sp)++)))
+ if (!isdigit((unsigned char)(c1 = *(*sp)++))) {
+ if (c1 == delim) {
+ *u8p = (c0 - '0');
+ return true;
+ }
return false;
+ }
if (*(*sp)++ != delim)
return false;
@@ -68,8 +73,13 @@ scan_2dec_uint(const char **sp, char delim, unsigned int *uintp)
if (!isdigit((unsigned char)(c0 = *(*sp)++)))
return false;
- if (!isdigit((unsigned char)(c1 = *(*sp)++)))
+ if (!isdigit((unsigned char)(c1 = *(*sp)++))) {
+ if (c1 == delim) {
+ *uintp = (c0 - '0');
+ return true;
+ }
return false;
+ }
if (*(*sp)++ != delim)
return false;
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->pending-pullups
State-Changed-By: mrg@NetBSD.org
State-Changed-When: Sun, 22 Mar 2020 20:39:21 +0000
State-Changed-Why:
a similar fix was applied here:
revision 1.4
date: 2020-01-19 03:07:00 -0800; author: jmcneill; state: Exp; lines: +22 -18; commitid: iALCXq1CsjB66iTB;
Fix loading TAHITI VCE firmware.
we just need pullups for netbsd-8 now, netbsd 9.0 shipped with it.
Responsible-Changed-From-To: kern-bug-people->mrg
Responsible-Changed-By: mrg@NetBSD.org
Responsible-Changed-When: Sun, 22 Mar 2020 20:39:35 +0000
Responsible-Changed-Why:
i'll prepare the pullup.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: mrg@NetBSD.org
State-Changed-When: Mon, 23 Mar 2020 17:31:15 +0000
State-Changed-Why:
should be all fixed on all active branches. thanks!
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.