From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.3234.1666143419983937846 for ; Tue, 18 Oct 2022 18:37:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HjRxts0p; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666143420; x=1697679420; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=2gE+0mev741Js2nNVwuycoNwdyvNGGDQ3lKFfmFotX4=; b=HjRxts0pVFmC7sFvdvM3c9Th8NVECAjNzh0vmNjL4FEeyUTStnCZBhEP wWGlAzAH56IdtkOtIMzSkPusxfR2E8JvwdAibj0imLR4KPokuHs4USLlR EDiSPTT0m9WTC+kO+ZviPXZ5nzjwOqdP2jhAUZUAFS4FxkZ4vqrB+1GNG RP4U8UzGOx6Q7bJt2fFGqdN4fga0+VLP6dMOciGdUC1Z0T56Pbvm2XbHz iUi3O/SY7XbzEZuOcpVfP7jBxShYqUpdVOS5FHC2jeumAGvK+MS2GJA+P mBmpcQuJs7mASVaMyFI2/fGr9SVOV5LjTgY+/rmxhLibPyMlULb1hnnIN g==; X-IronPort-AV: E=McAfee;i="6500,9779,10504"; a="307388110" X-IronPort-AV: E=Sophos;i="5.95,194,1661842800"; d="scan'208";a="307388110" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Oct 2022 18:36:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10504"; a="771518184" X-IronPort-AV: E=Sophos;i="5.95,194,1661842800"; d="scan'208";a="771518184" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP; 18 Oct 2022 18:36:58 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 18 Oct 2022 18:36:58 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 18 Oct 2022 18:36:58 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 18 Oct 2022 18:36:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CyiqNtDhAO+Hc7HrJ0TRGnhQoWmaecYKAX4iNcwvSH6H6dPa4o26ZCnNXrxi9lhpjT2Na8+cfKalJZbX77egf8xhqrigYMBcgafQ2dN/2V6SDZ1GtFPejW2cJTlpucaDkSmqn5h+NfbC1AVmbifXspNibLgBVuCJj2L+Who5ENdjzu1wQPde63sCWmpd622Jr0bVxBDAs3QdoDtOLWzwIYPHaYZUcPJEnJwhWZImyIoW0l2DILJKJzpmHydrgln5tCcFihQ9NSsURMK1cNdvGFgfXtsGFLb+8gtyDwsjb+uemvK3SJBpAe2Anc5EZbxbZfiVa4xXD1yNnDmWiYj3gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lD8BPawfMx1ndq39JOhueFHLNuLToix/b94tupC2ffA=; b=YnQN82OPMyu+rm4PRrJnEmkUjuSQEp1FlIR0KmKw6hCLMaiEaaLrBL4eKnGt5tIFDpRj4NwCriS4Nupa0aOr9I9zWWHktBX00iFahpXyC+Z5JGsg/9fH9aP31JU1Q7/JwTzGwUVfEeoOcwT8d7PpUj+hZ8SWIoT90oPXy5H/Z4sjZezQgDEVj1N9OL0AtPmmUE6vDRw1iCsxV5CEDjCTg2tBGnrqAP+orhYkwrZIjw2pZQ3l2N2pLsrdbuvr+XLoSJ4mmU405nnMoZQD9rzn+0xF/xAx2h34VavaoDknOKGOvzjAbs4rxZoKiiBsKdEKyHhPmVosaHlAf77VH5GG1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB4025.namprd11.prod.outlook.com (2603:10b6:5:197::31) by BL3PR11MB5681.namprd11.prod.outlook.com (2603:10b6:208:33c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.32; Wed, 19 Oct 2022 01:36:46 +0000 Received: from DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::82ad:97fd:4cd6:b7ae]) by DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::82ad:97fd:4cd6:b7ae%3]) with mapi id 15.20.5723.033; Wed, 19 Oct 2022 01:36:46 +0000 From: "Wu, Hao A" To: "Anbazhagan, Baraneedharan" , "Albecki, Mateusz" , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [PATCH 1/1] MdeModulePkg/Ata: Fix command status reporting Thread-Topic: [PATCH 1/1] MdeModulePkg/Ata: Fix command status reporting Thread-Index: AQHY4wn6KyQOjdfwO0qXOMsy/99GUq4U7akw Date: Wed, 19 Oct 2022 01:36:46 +0000 Message-ID: References: <20221018155419.2808-1-mateusz.albecki@intel.com> <20221018155419.2808-2-mateusz.albecki@intel.com> In-Reply-To: <20221018155419.2808-2-mateusz.albecki@intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4025:EE_|BL3PR11MB5681:EE_ x-ms-office365-filtering-correlation-id: 5420557f-1ae4-4348-c7d8-08dab1726279 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WGjc2SvdBce8EW2lhhUJMFCcldHdS7k1n0t0AmyCV4IjTxwo+c9Wys3ziSJd2QkAowVc5QghpPKfT9wAVqmgR4yPsly59/VhPLOl+fuNKr5CvuScpoIQZmqLiUJFwbTFzxPwulUvAUm6RADh0/uJWlB/qEkI3L3PwL3WCXsHPY2tSTIdgFWKlyCH0BIiIyciBrk6C5y66XecNmZXsYpD5T5nP9fFzRJV34VuEnTr6zjXwGyPIGzp5C8WyfItucS4OJhPJ8aYXgMkxD//sI4o/eHNhH0z6SQdivYM7gTWjWP4u8MBqQ3fU5qxxlgeMfenx6BqVsvD1T8zNB0FgcS0IVPGaBk/YLw9objiI9Wit/XoBnNhNi3kyLoTMibqkYRqZzKO1uzHfkc55lDzp1UyaojFJuBHK9X3LXWc97xaB8PdhM5KqNimJ0MGJwRKoQVpskzn0NagXGmQzjYkjIXL4E3OUosJJT7iyOOaeBx0BYgul5PGRHQCKuZqU8TawkLjQ9ouTFQiu1M4NEBO304IuRrIpfbBQuZlepOXVit1y2ETGNE4v7DjKJkkcYcARqeNnNkt6cDnHZ/tMarwdXEAlixl1AW4bsHWBn8W6tYLGWczeAQppTLIKkjRDxqBMiXGIwrA1O86YJxnE6tDUTX47hAZ9khhuskntEYQz2rAqTBzy5nQsAFIt5kJ/cg/YOC+mtaEsrO0rRJjVQyN+oNuGnbn3Ps6Zo/HOAX60Uf9/J+4TTUsNwCsUeKGoDWrdGGepLeA4UsFldcgb8nm/38PCh+u91dzDDvFtRmC/CGWrnpwkaeTkew33jakccqTWWwT4tkUOhpC6nMlUT+FqJEpww== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4025.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(396003)(39860400002)(366004)(136003)(451199015)(316002)(64756008)(4326008)(33656002)(186003)(110136005)(6506007)(7696005)(26005)(52536014)(8936002)(2906002)(53546011)(86362001)(9686003)(41300700001)(83380400001)(66446008)(66556008)(66946007)(76116006)(107886003)(66476007)(55016003)(8676002)(5660300002)(82960400001)(71200400001)(122000001)(38070700005)(38100700002)(478600001)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Iiw6BspldnIaduz8UXYv0AOlJ51oGhlNEeQmlORuwuoV43KFSs1cvgoVBOG9?= =?us-ascii?Q?kYwTCz0o4m7UeprmKUZdThNpwqVHKmBJl5ZzoZuxb54qDgWWbJRLPnTP81Sy?= =?us-ascii?Q?vyL3Lf4Q4NxY0qf1zdzC1YHWmiTZKw+CXqUVlnN0fegTtTVk8ALlZe1XI7pI?= =?us-ascii?Q?wRPLGUrfkyhrT6s/CnVg9h3ousMhABvm6gJb7j7wd6YWMBWEsEa2fzmdAiNz?= =?us-ascii?Q?tMh6n2TVtTdGeRcOg7LFtKFkVT+AmW9vHR4CjpjU/bobYs1xiM+CFFM82yKO?= =?us-ascii?Q?0LKcjpg8JwgwkKqOQNWJ4BgmkamuJU45Vx9za6xX4IoKnQOKZ1atYx5lEoxC?= =?us-ascii?Q?atl4kSYLK6SSe3obYA3So932/tR0j3TmU950EibHET01ZAnV9oBTH4To2UOF?= =?us-ascii?Q?nOU0Uz7T72hmgA1cYPdvX8Q2i7aEqXtOGpimq4AIHs6ppLrt+tZSSeRFLqqt?= =?us-ascii?Q?OSSyWQ65Q0DK03/e7gN86nGngQHr3XqnDbNyEAmCdOTGgKAaNtqEsxurRH7p?= =?us-ascii?Q?ZY1WIjzB/UVknZFLYyi2+uTvVK7VB7j0bEX28z4UDila4ZdpyxlZMfoOH/nt?= =?us-ascii?Q?KLpORG7jGsR9qh3Yoeb9s6EvmRT4cM0IBiivmJdOIyngmCur4qhrWK0w6uSz?= =?us-ascii?Q?zVLQhz9SIxFVaVfM2fhslDCQXfaTdKJf5uBJEVK1majsV/KMeCDfTyjpQhPj?= =?us-ascii?Q?GicFuldaLZMdecdHyDtXWn8CODtiozaNsHtAHv/XpdAcg1YmGUBKeO04SYkl?= =?us-ascii?Q?ZZWAtFS0WFYPvWQNSV8HvXpfPC3ij+zemzIA/+KW9j8kqpj17w1yL2Z6DoxG?= =?us-ascii?Q?k+o8GXBHn/4Pw+NFlqCDTKKIrFvNMydc3icjwbWcQVFeumqHjrQTxFRoK3OI?= =?us-ascii?Q?mNv4/vHQm3oNQrFngrtUA2UZArOjy72evfnqAqRuHjLODe5WyivO9JNT4eb4?= =?us-ascii?Q?pjXECXbj6KEQ8pCyOCl0MpItq1ZOZ9uF3IEyZt5iXWJYRutJ9MGU7r/yHefY?= =?us-ascii?Q?9qhRsE8sZ3zcr3Le1myzE/khQGHIirCTQ5Ys7fGmOnZUi3TWVxd7gGDXWNak?= =?us-ascii?Q?D8WvDlFkvRcLfN4A5wfttTkDhtzEQuPGJHgVWLpbDf8AlpT3qmK2eVyflRF9?= =?us-ascii?Q?OJpcFmb2P9wQuyrpWwNRYpTU0Lihb88z2tz+oyMpN2PvHXR8oFUnfH1t70s2?= =?us-ascii?Q?H0IgwzBEfCJW+EQa7w4mAwtxHBIhcmsM/VzN9Qj4I9QyAei60pogN0+c8bwv?= =?us-ascii?Q?mAxzqs3HkH224AySGDIhZT9Qy9lSGnroyMdB7ahdpHVtoFho4njoiyoTy/j3?= =?us-ascii?Q?sPUk92OHuGxSSoENfuscMkGHYNj6jKwoSGcIYngub7kJjg9uLbhW75Tsvte7?= =?us-ascii?Q?5KilfOsYrkZsDr8nEuHEitVGWec9QNKDyTH47T0FYMzjINU/D5nkMAD+AHeh?= =?us-ascii?Q?cYloa2DtcDi0ydTZ0NdAdRO3lR34+g/EGsrP9Ow4HHLAG8t9zCUf8xG2KkI6?= =?us-ascii?Q?qpHfMIocUQMmmHZJzT7o8ci2pLDPKZl3+T8Tch4vsbOl5M2cfINLJKQfLWdo?= =?us-ascii?Q?NCwmF8lbHYEfjc1NF6LGZUQr9wXhkQhwlsbE+CA5?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4025.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5420557f-1ae4-4348-c7d8-08dab1726279 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2022 01:36:46.2726 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eeHHfLdgYeBnP7Fl4TyJyDGoeEzkgqkdMVYRU/1RaEKHVdAhcoMN6vYC2eWXZS2XwZyd7NlACG4lWcaHoNPx8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5681 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Baraneedharan Anbazhagan, Could you help to check if this patch can resolve the issue https://bugzill= a.tianocore.org/show_bug.cgi?id=3D4011 when switching back to: "#define AHC= I_COMMAND_RETRIES 5"? This change can be accessed for integration at: https://github.com/tianocor= e/edk2/commit/f2eb27e00ed55cca03964f13a2839e41e2c1f61f.patch Best Regards, Hao Wu > -----Original Message----- > From: Albecki, Mateusz > Sent: Tuesday, October 18, 2022 11:54 PM > To: devel@edk2.groups.io > Cc: Albecki, Mateusz ; Wu, Hao A > ; Ni, Ray > Subject: [PATCH 1/1] MdeModulePkg/Ata: Fix command status reporting >=20 > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4016 >=20 > AtaAtapiPassThru driver was reporting recovery status on failed command > packets which led to incorrect flows in upper layers and to SCT tests > fails. This commit will change the logic to report command status. >=20 >=20 > Cc: Hao A Wu >=20 > Cc: Ray Ni >=20 >=20 > Signed-off-by: Mateusz Albecki > --- > .../Bus/Ata/AtaAtapiPassThru/AhciMode.c | 19 +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) >=20 > diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c > b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c > index a240be940d..06c4a3e052 100644 > --- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c > +++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.c > @@ -949,6 +949,7 @@ AhciPioTransfer ( > EFI_AHCI_COMMAND_LIST CmdList; >=20 > UINT32 PrdCount; >=20 > UINT32 Retry; >=20 > + EFI_STATUS RecoveryStatus; >=20 >=20 >=20 > if (Read) { >=20 > Flag =3D EfiPciIoOperationBusMasterWrite; >=20 > @@ -1026,8 +1027,8 @@ AhciPioTransfer ( >=20 >=20 > if (Status =3D=3D EFI_DEVICE_ERROR) { >=20 > DEBUG ((DEBUG_ERROR, "PIO command failed at retry %d\n", Retry)); >=20 > - Status =3D AhciRecoverPortError (PciIo, Port); >=20 > - if (EFI_ERROR (Status)) { >=20 > + RecoveryStatus =3D AhciRecoverPortError (PciIo, Port); >=20 > + if (EFI_ERROR (RecoveryStatus)) { >=20 > break; >=20 > } >=20 > } else { >=20 > @@ -1122,6 +1123,7 @@ AhciDmaTransfer ( > EFI_PCI_IO_PROTOCOL *PciIo; >=20 > EFI_TPL OldTpl; >=20 > UINT32 Retry; >=20 > + EFI_STATUS RecoveryStatus; >=20 >=20 >=20 > Map =3D NULL; >=20 > PciIo =3D Instance->PciIo; >=20 > @@ -1220,8 +1222,8 @@ AhciDmaTransfer ( > Status =3D AhciWaitUntilFisReceived (PciIo, Port, Timeout, SataFis= D2H); >=20 > if (Status =3D=3D EFI_DEVICE_ERROR) { >=20 > DEBUG ((DEBUG_ERROR, "DMA command failed at retry: %d\n", Retry)= ); >=20 > - Status =3D AhciRecoverPortError (PciIo, Port); >=20 > - if (EFI_ERROR (Status)) { >=20 > + RecoveryStatus =3D AhciRecoverPortError (PciIo, Port); >=20 > + if (EFI_ERROR (RecoveryStatus)) { >=20 > break; >=20 > } >=20 > } else { >=20 > @@ -1261,14 +1263,14 @@ AhciDmaTransfer ( > Status =3D AhciCheckFisReceived (PciIo, Port, SataFisD2H); >=20 > if (Status =3D=3D EFI_DEVICE_ERROR) { >=20 > DEBUG ((DEBUG_ERROR, "DMA command failed at retry: %d\n", Task- > >RetryTimes)); >=20 > - Status =3D AhciRecoverPortError (PciIo, Port); >=20 > + RecoveryStatus =3D AhciRecoverPortError (PciIo, Port); >=20 > // >=20 > // If recovery passed mark the Task as not started and change th= e status >=20 > // to EFI_NOT_READY. This will make the higher level call this f= unction > again >=20 > // and on next call the command will be re-issued due to IsStart= being > FALSE. >=20 > // This also makes the next condition decrement the RetryTimes. >=20 > // >=20 > - if (Status =3D=3D EFI_SUCCESS) { >=20 > + if (RecoveryStatus =3D=3D EFI_SUCCESS) { >=20 > Task->IsStart =3D FALSE; >=20 > Status =3D EFI_NOT_READY; >=20 > } >=20 > @@ -1375,6 +1377,7 @@ AhciNonDataTransfer ( > EFI_AHCI_COMMAND_FIS CFis; >=20 > EFI_AHCI_COMMAND_LIST CmdList; >=20 > UINT32 Retry; >=20 > + EFI_STATUS RecoveryStatus; >=20 >=20 >=20 > // >=20 > // Package read needed >=20 > @@ -1415,8 +1418,8 @@ AhciNonDataTransfer ( > Status =3D AhciWaitUntilFisReceived (PciIo, Port, Timeout, SataFisD2= H); >=20 > if (Status =3D=3D EFI_DEVICE_ERROR) { >=20 > DEBUG ((DEBUG_ERROR, "Non data transfer failed at retry %d\n", Ret= ry)); >=20 > - Status =3D AhciRecoverPortError (PciIo, Port); >=20 > - if (EFI_ERROR (Status)) { >=20 > + RecoveryStatus =3D AhciRecoverPortError (PciIo, Port); >=20 > + if (EFI_ERROR (RecoveryStatus)) { >=20 > break; >=20 > } >=20 > } else { >=20 > -- > 2.28.0.windows.1