From nobody Mon Feb 9 11:30:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+43878+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43878+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1563364024; cv=none; d=zoho.com; s=zohoarc; b=PpmFdCEafva2hOcKH3sak8Tw53iDSOOrvAAw5qmjTNjJX6/3dowJeF2RSswJCWUjuvQ2olBGMIo3ComQ+9XvKRbs6KbDLd7n5YRcKtMOqm4tTMhBXWeYx6vsQYdwOKEkKXV/r0U8W2921NyFUhl0Gbq0dOPQnHcYBG2DewqgInA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1563364024; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=7U/82M/+4aVqbVUfzM7xbBYn9pYcThZK/rdtK8yVWBc=; b=nSwzgGye28L2mbcgkk3p3ke/paK5+FBjxBqIpHwI83ErZprseIDAGpPd2Mb5ksB9KVORORq2znSz7WTI4UW6RmNFjOWMpyIEjLhJV79yW63QS4lj7VWP1OpIhPjXgS6vUWMr7dgDj/uJi1Kkw5B3jGuitmqLEnnf6hVubQtbjeg= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43878+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1563364024170541.1895949282823; Wed, 17 Jul 2019 04:47:04 -0700 (PDT) Return-Path: X-Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by groups.io with SMTP; Wed, 17 Jul 2019 04:47:03 -0700 X-Received: by mail-wm1-f65.google.com with SMTP id v15so21863148wml.0 for ; Wed, 17 Jul 2019 04:47:02 -0700 (PDT) X-Gm-Message-State: APjAAAUafa+d/lSLuRDhxXPBFVJ61C7tTq883f69krHiWC976ZTWUssh kk30X3gta+zgs8R4hmnb67nKJc33 X-Google-Smtp-Source: APXvYqyRhFqc+riPm0MXiwsfJ32bEHNN8VcPxHKOorn/wMP5xYofmLrzk4rOIwXXJXEX3ga1JKbMUA== X-Received: by 2002:a1c:1d4f:: with SMTP id d76mr38171578wmd.127.1563364021284; Wed, 17 Jul 2019 04:47:01 -0700 (PDT) X-Received: from localhost.localdomain ([84.203.61.230]) by smtp.gmail.com with ESMTPSA id c3sm26885778wrx.19.2019.07.17.04.46.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jul 2019 04:47:00 -0700 (PDT) From: "Pete Batard" To: devel@edk2.groups.io Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org Subject: [edk2-devel] [edk2-platforms: PATCH 1/3] Platform/RPi3: Use Wait4Bit return value consistently Date: Wed, 17 Jul 2019 12:46:43 +0100 Message-Id: <20190717114645.7776-2-pete@akeo.ie> In-Reply-To: <20190717114645.7776-1-pete@akeo.ie> References: <20190717114645.7776-1-pete@akeo.ie> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pete@akeo.ie Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1563364023; bh=WhbqC8xQbthjWYRRJUTviZMfXomBqLYIFzfoVgt7pd8=; h=Cc:Date:From:Reply-To:Subject:To; b=cMP59k7ZW9oXH8tIsRlpMYBGxbi/vdVoesH/R5ZFMPRTe6S1q1vAJCmFVGNCF6u718n 1w08Rgi8Ca3z8M4p61EnWMp/ulfUf0WlFqgecDN8I+0sDiHBQ+lOa1Rt/7vudJylCO9kO iM9x+cPuAXH5YOfpTJ8uguC2Iy6GZOvA4OE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Michael Brown There are multiple points in the existing code that take the UINT32 value returned by Wait4Bit and return it directly as an EFI_STATUS value. If Wait4Bit fails, this will result in a spurious EFI_STATUS value of 0x1 (EFI_WARN_UNKNOWN_GLYPH) being returned to the caller. A caller treating any non-zero value as an error will see this as a failure, but a caller using the EFI_ERROR macro will incorrectly see it as a success. Fix by defining the return type of Wait4Bit as EFI_STATUS and ensuring that a valid EFI_STATUS value is always returned. Signed-off-by: Michael Brown Signed-off-by: Pete Batard --- Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c | 19 +++++++= +++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c = b/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c index 59120b9d8564..c1e1229f858e 100644 --- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c +++ b/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c @@ -53,7 +53,7 @@ DwCoreInit ( IN EFI_EVENT Timeout ); =20 -UINT32 +EFI_STATUS Wait4Bit ( IN EFI_EVENT Timeout, IN UINT32 Reg, @@ -70,14 +70,14 @@ Wait4Bit ( } =20 if ((Value & Mask) =3D=3D Mask) { - return 0; + return EFI_SUCCESS; } } while (EFI_ERROR (gBS->CheckEvent (Timeout))); =20 DEBUG ((DEBUG_ERROR, "Wait4Bit: %a timeout (reg:0x%x, value:0x%x, mask:0= x%x)\n", Set ? "set" : "clear", Reg, Set ? Value : ~Value, Mask)); =20 - return 1; + return EFI_TIMEOUT; } =20 CHANNEL_HALT_REASON @@ -91,13 +91,14 @@ Wait4Chhltd ( IN SPLIT_CONTROL *Split ) { - INT32 Ret; + EFI_STATUS Status; UINT32 Hcint, Hctsiz; UINT32 HcintCompHltAck =3D DWC2_HCINT_XFERCOMP; =20 MicroSecondDelay (100); - Ret =3D Wait4Bit (Timeout, DwHc->DwUsbBase + HCINT (Channel), DWC2_HCINT= _CHHLTD, 1); - if (Ret) { + Status =3D Wait4Bit (Timeout, DwHc->DwUsbBase + HCINT (Channel), + DWC2_HCINT_CHHLTD, 1); + if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "Channel %u did not halt\n", Channel)); return XFER_NOT_HALTED; } @@ -204,7 +205,7 @@ DwCoreReset ( IN EFI_EVENT Timeout ) { - UINT32 Status; + EFI_STATUS Status; =20 Status =3D Wait4Bit (Timeout, DwHc->DwUsbBase + GRSTCTL, DWC2_GRSTCTL_AH= BIDLE, 1); if (Status) { @@ -1261,7 +1262,7 @@ DwFlushTxFifo ( IN INT32 Num ) { - UINT32 Status; + EFI_STATUS Status; =20 MmioWrite32 (DwHc->DwUsbBase + GRSTCTL, DWC2_GRSTCTL_TXFFLSH | (Num << DWC2_GRSTCTL_TXFNUM_OFFSET)); @@ -1279,7 +1280,7 @@ DwFlushRxFifo ( IN EFI_EVENT Timeout ) { - UINT32 Status; + EFI_STATUS Status; =20 MmioWrite32 (DwHc->DwUsbBase + GRSTCTL, DWC2_GRSTCTL_RXFFLSH); =20 --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43878): https://edk2.groups.io/g/devel/message/43878 Mute This Topic: https://groups.io/mt/32502332/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-