From nobody Fri May 17 00:41:48 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+107195+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107195+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=163.com ARC-Seal: i=1; a=rsa-sha256; t=1690247450; cv=none; d=zohomail.com; s=zohoarc; b=m7joiul/QxSYgwv7oTWO1Kk5BRwvd4TJs28WxZTI9Mu+70IJ8hKHYMRcNYk/xgdTSqhjL4ReHyxTgNkz+WsVEvR+LwnoPFiL6VyTBdsfomUP2QSVz12Hbqv4pF7LCxR2demMVbK30yox9lLedFaMLFnvbOJnZSvbvHQl/HpsQEY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1690247450; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=RjnWc8OzJXD3Nv//ZineK7WHriqyRx5sH9YVJ3dxZNk=; b=BIjty0J8CxIZd4bwjeQhUB1dZ31zJOrjTZWPn+HIgYptDuB70djsna+ewwJQH8nWgmLsq7nl53gzhYylB21fmR8Gjtr1VLOJaNkXfWwDF8vWv276wk45uJJhMsH/yvpTV7vTnllHxXS9hVQB/5xU+Q1lFCb7/iXaZXMhCatWSNc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107195+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1690247450050615.1056762005079; Mon, 24 Jul 2023 18:10:50 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=D7pl2Fj0SRi3cPfGWdKawFqdPPuS8DpH2asg2A/reKM=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-Received:From:To:Cc:Subject:Date:Message-Id:MIME-Version:X-CM-TRANSID:X-Coremail-Antispam:X-Originating-IP:X-CM-SenderInfo:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:X-Gm-Message-State:Content-Transfer-Encoding; s=20140610; t=1690247449; v=1; b=ujMJH8qy3gx4vRom76jBcInbFmyj7bm+wOZwxsu9UziVP2bJqeCHJ82UBG8lEkfEVhrdfM68 TG07r6QQTaJ0dbfXsOVoJhkFHoQmF7bNaAAN52eaSRNei/vylFBRBkptROLHhRZnWDTXbKtCL/4 e/ReKBIURsB9hr6ylZusKIqo= X-Received: by 127.0.0.2 with SMTP id DUZzYY1788612xZYoq6jYO0g; Mon, 24 Jul 2023 18:10:49 -0700 X-Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.214]) by mx.groups.io with SMTP id smtpd.web11.10999.1690247447473492606 for ; Mon, 24 Jul 2023 18:10:48 -0700 X-Received: from localhost.localdomain (unknown [219.141.235.82]) by zwqz-smtp-mta-g3-1 (Coremail) with SMTP id _____wAXtCgPIb9k94TqBA--.52099S2; Tue, 25 Jul 2023 09:10:40 +0800 (CST) From: wangyzhaoz@163.com To: devel@edk2.groups.io Cc: Yang Wang Subject: [edk2-devel] [PATCH] Silicon/Synopsys/DesignWare: DwEmacSnpDxe: Fix bug in EmacGetDmaStatus Date: Tue, 25 Jul 2023 09:10:37 +0800 Message-Id: <20230725011037.2229-1-wangyzhaoz@163.com> MIME-Version: 1.0 X-CM-TRANSID: _____wAXtCgPIb9k94TqBA--.52099S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxXrWkAF47Ar43KrW7Gr1DGFg_yoW5Jw13pa 4kAr42kr4rGa13ZFy3Aa4YgF15AFyxWrWkA3sFy3ZIqF13JFWUuw1xuFWaq3WDWF1rJay3 GF9Yq34xCF1ayaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pRFeH-UUUUU= X-Originating-IP: [219.141.235.82] X-CM-SenderInfo: 5zdqw5p2kd06i6rwjhhfrp/1tbioxG3JWNfu436igAAsa Precedence: Bulk List-Subscribe: List-Help: 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,wangyzhaoz@163.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: HNgPocfhGZ8EU33jIQ3NboFTx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1690247451853100003 Content-Type: text/plain; charset="utf-8" From: Yang Wang Check EmacGetDmaStatus input parameters IrqStat may be a null pointer. Signed-off-by: Yang Wang --- .../Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c | 7 +++++-- .../Drivers/DwEmacSnpDxe/EmacDxeUtil.c | 16 ++++++++++++---- .../Drivers/DwEmacSnpDxe/EmacDxeUtil.h | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.= c b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c index 4cb3371d79..6805511a1d 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/DwEmacSnpDxe.c @@ -847,9 +847,12 @@ SnpGetStatus ( } =20 // Check DMA Irq status - EmacGetDmaStatus (IrqStat, Snp->MacBase); + Status =3D EmacGetDmaStatus (IrqStat, Snp->MacBase); + if (EFI_ERROR(Status)) { + DEBUG ((DEBUG_ERROR, "%a: error Status: %r\n", __func__, Status)); + } =20 - return EFI_SUCCESS; + return Status; } =20 =20 diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c= b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c index 3b982ce984..45b5a05f51 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.c @@ -489,16 +489,22 @@ EmacDmaStart ( } =20 =20 -VOID +EFI_STATUS EFIAPI EmacGetDmaStatus ( OUT UINT32 *IrqStat OPTIONAL, IN UINTN MacBaseAddress ) { - UINT32 DmaStatus; - UINT32 ErrorBit; - UINT32 Mask =3D 0; + UINT32 DmaStatus; + UINT32 ErrorBit; + UINT32 Mask =3D 0; + EFI_STATUS Status =3D EFI_SUCCESS; + + if (IrqStat =3D=3D NULL) { + Status =3D EFI_INVALID_PARAMETER; + goto EXIT; + } =20 DmaStatus =3D MmioRead32 (MacBaseAddress + DW_EMAC_DMAGRP_STATUS_OFST); @@ -602,6 +608,8 @@ EmacGetDmaStatus ( MmioOr32 (MacBaseAddress + DW_EMAC_DMAGRP_STATUS_OFST, Mask); +EXIT: + return Status; } =20 =20 diff --git a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h= b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h index c4c3653dc7..60f30ecd16 100755 --- a/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h +++ b/Silicon/Synopsys/DesignWare/Drivers/DwEmacSnpDxe/EmacDxeUtil.h @@ -339,7 +339,7 @@ EmacDmaStart ( ); =20 =20 -VOID +EFI_STATUS EFIAPI EmacGetDmaStatus ( OUT UINT32 *IrqStat OPTIONAL, --=20 2.25.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 (#107195): https://edk2.groups.io/g/devel/message/107195 Mute This Topic: https://groups.io/mt/100342205/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-