From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web12.10212.1590304640636366388 for ; Sun, 24 May 2020 00:17:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=JFfdBoX3; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: dandan.bi@intel.com) IronPort-SDR: i2RD3zBvKyl/6HywQoVCehurLayGRBT1u3W0gzu3bW/3uv0Ms/+JG1TdRA3PsxNd/TeBbggrAE ypLsi4HfjDlw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2020 00:17:19 -0700 IronPort-SDR: Jh090D4N18dSiwwpJ3od6aJl2gMtpnPu79bQtSiza9jLm37D5Shy/ueFU5/lzTK/ASDa6EfUeL X3RTP8tkB/ow== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,428,1583222400"; d="scan'208";a="309747651" Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by FMSMGA003.fm.intel.com with ESMTP; 24 May 2020 00:17:19 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX104.amr.corp.intel.com (10.22.225.131) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 24 May 2020 00:17:19 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 24 May 2020 00:17:18 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 24 May 2020 00:17:18 -0700 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.59) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 24 May 2020 00:17:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aZVFbwlSs1+WunQSWbhyiF6IHCkb8KDBcdqeb+b5fBPXon2v4LOQNu4njJ/iltyX7LS6lkwdFIWbBGkfTMYMancqltgH2lmYGNZPEgDP0fT+TGrgh0XgjugYs7KIaY+VglnXSKPvgCkzcgLKZdlvh0c3Stfx6B3PcI6k2+MNL6mnNiatUwBG6YqxoLwNe+P1KEm79eZbYk09/j1vIRn8/G0/lxNNK+H/t5WCkyomJisG3DrRy0Tz6rUk6zzfRJxVqU7iQK5BKUfig0u4Zjv+nNnscknSFdphwIjfQ+2/ab3hVraRU70cFVgXFribJarkZqfVP8FOk7Z/B1lJrsPt/w== 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-SenderADCheck; bh=4L+fXcLgfZe0odwMSIRhRtfq70fbsTTTkasXnfjb5V8=; b=jxhq6MDuI12OGM6kuCtY+QWxvbyT83FEpSAsyaWg/66iLc+CndoYbnVOzpBTaxFy+obWwi+eveklZW671gUiHrcqVn5fdGZfe+EFDbaDZDTh/m4sVKi95/zQUGeICpgtXzlRcq6Oozn0ZpLC66ooM1/+u+xmgBKeXOqXuHyyOU2rHwNG2bdcZ9UM0evJBml+fC6I3nMCoq6Brta1MlObJ6j/FMJ4002nLLqzlfJMLtWl2Qq/zIrU1NjGdIZJnDAQeEKCXL19wV99XXIIn8GdaAU48nrv740EOLpaCrQIa7fjdJT+B2r1g+9CR7H57V9MuCFxDj7BJ7+aguyZ9pMWPw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4L+fXcLgfZe0odwMSIRhRtfq70fbsTTTkasXnfjb5V8=; b=JFfdBoX3leylt3u5gqbBGgAqXjHc5wUGsUKqWm19kF780/f9ZbhqAF5UMK22QVHlrw6O/3OpT9qqjKhbNU64ufZqep/nZkFMgV80VFQt8gCSHt/S0qDeHeuXmm5N6Jz/BUwDqxBcc9iNWzEcUdAuEweHfm2V2ZBuz1SPUV93Nwc= Received: from CY4PR11MB1477.namprd11.prod.outlook.com (2603:10b6:910:b::20) by CY4PR11MB1606.namprd11.prod.outlook.com (2603:10b6:910:d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.27; Sun, 24 May 2020 07:17:17 +0000 Received: from CY4PR11MB1477.namprd11.prod.outlook.com ([fe80::d5d3:ff0c:74ad:4702]) by CY4PR11MB1477.namprd11.prod.outlook.com ([fe80::d5d3:ff0c:74ad:4702%5]) with mapi id 15.20.3021.027; Sun, 24 May 2020 07:17:17 +0000 From: "Dandan Bi" To: Walon Li , "devel@edk2.groups.io" CC: "nickle.wang@hpe.com" , "abner.chang@hpe.com" , "sunnywang@hpe.com" Subject: Re: [PATCH] MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update Thread-Topic: [PATCH] MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update Thread-Index: AQHWLl7IYBL1bOepQkyMkHngPJlol6i22bVw Date: Sun, 24 May 2020 07:17:17 +0000 Message-ID: References: <20200520042447.1017-1-walon.li@hpe.com> In-Reply-To: <20200520042447.1017-1-walon.li@hpe.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5236a6a4-ff1d-415a-9c84-08d7ffb27dc2 x-ms-traffictypediagnostic: CY4PR11MB1606: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0413C9F1ED x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xV+hi8dTUpOSBlLk0+6zVvxUqwVajSibjEi4RJQr1yW3QvCGYCNndOakmZ2Qu6LP5i4bP3OAdDGNWmzxrKRkbEiBfrqx6OlK8/10PDr8BoUxqRgTrZnzqhXtpirqkH8Vl6Fm7tlmMb6lr5Qqk3dJA4yvPv+ceVbY4y/pJ4K/vJ1QZ53JvuJVKUOXCwCs4Z7nEH2Kj+JQWU/yjxAQv7l+fzZXfDX9gfd6omkNouKdPCgZ9KkMu5nAsAWfbZZElR68bQ16XBF72Vlijr/8LD6TJDkR8OMnOAsWykKx7qunQxF3Z5PON/LF5AIi0OQ1Bp9+ib8YruFWuXEFrfgC0GBlQ4P3laRerev6b/CssbpukiJVR2xd6jI3knPAwfVCHDNE2xeTLqvVFKY/ZXIBsXpA2w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1477.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(39860400002)(136003)(346002)(376002)(396003)(366004)(55016002)(8936002)(4326008)(8676002)(5660300002)(71200400001)(86362001)(2906002)(478600001)(9686003)(15650500001)(26005)(110136005)(7696005)(66946007)(54906003)(33656002)(186003)(64756008)(296002)(316002)(66476007)(6506007)(66574014)(52536014)(66556008)(53546011)(66446008)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 0iSPpVqjbvQeXe3VoWXYEZ0jCj0g+Cnypo5twOcgZekTOb5YImOMyiRAfbbriE/e0uouwJgNxpoQJlseahrU/zgL+ONPR3IGjaIB0lbDLgirJ5a32vsoBH7hbtr/tRbUaAu7/04cH9XVN70GCe89/obXr4E8bgg67uWoaHeOdUgKwpwoIyjwMx5pbRtClsI6sogch0SNPPLDrQu3u3FVDelVr4i07gYb0ITtU5EkSEcXd7VNyycener4epNi7Q6lotnE6scOysLkgMwK7Y8oKqH3gBP70Ua9rAHQQdtwuQTKM/kK9f4jV9WQCjkVc5wDoJqis9TOXcVcWPsy5SNv+bxQGlaBA7t2noWdwLwjq7aPdjzTDtgBgxIZe++heue14uI8WFpcyiuIKMhAoJVIqFWXR1sbUTEEa3U4kibJjYO90eKu8G40MFWC9kcqlIYWYlXIJsPvGaPpaVa6XjRh/pguF0RK91eagkUjvciW9eDyYBMc/VsfdhlPeRK6GA7L x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 5236a6a4-ff1d-415a-9c84-08d7ffb27dc2 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2020 07:17:17.3772 (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: ovyTLgc7YiLq2+Wf6XZEmqUgek0VgxVbQkhfR0a/5YoQeF6R+2G/phgT8es+U0wAqTGwqsEygK+ng1DRPhNw1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1606 Return-Path: dandan.bi@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Dandan Bi Thanks, Dandan > -----Original Message----- > From: Walon Li > Sent: Wednesday, May 20, 2020 12:25 PM > To: devel@edk2.groups.io > Cc: walon.li@hpe.com; Bi, Dandan ; > nickle.wang@hpe.com; abner.chang@hpe.com; sunnywang@hpe.com > Subject: [PATCH] MdeModulePkg/SetupBrowserDxe: Do not reconnect > driver with form-update >=20 > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D2701 >=20 > Recording to the spec, the reconnect is activated upon exiting of the for= mset > or the browser. Exiting is by user but form-browser internal logic. That = means > the reconnection is only happened when user press ESC or _EXIT action to > exit form. > Driver callback may update HII form dynamically so form-browser needs to > refresh its internal data. It's not exiting formset for user exactly and = they > didn't know what happened. So use a flag to record that and do not > reconnect driver if updated by callback. >=20 > Signed-off-by: Walon Li > --- > MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c | 2 ++ > MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 8 +++++++- > 2 files changed, 9 insertions(+), 1 deletion(-) >=20 > diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > index bafee4c612..7f85873730 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c > @@ -19,6 +19,7 @@ LIST_ENTRY mRefreshEventList =3D > INITIALIZE_LIST_HEAD_VARIABLE (mRefreshEv > UINT16 mCurFakeQestId; FORM_DISPLAY_ENGINE_FORM > gDisplayFormData; BOOLEAN mFinishRetrieveCall =3D FALSE;+BOOLE= AN > mDynamicFormUpdated =3D FALSE; /** Check whether the ConfigAccess > protocol is available.@@ -1762,6 +1763,7 @@ FormUpdateNotify ( > ) { mHiiPackageListUpdated =3D TRUE;+ mDynamicFormUpdated =3D TRUE; > return EFI_SUCCESS; }diff --git > a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > index 82067b541c..f936a4b8e8 100644 > --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c > @@ -68,6 +68,7 @@ extern EFI_GUID mCurrentFormSetGuid; > extern EFI_HII_HANDLE mCurrentHiiHandle; extern UINT16 > mCurrentFormId; extern FORM_DISPLAY_ENGINE_FORM > gDisplayFormData;+extern BOOLEAN mDynamicFormUpdated; /** > Create a menu with specified formset GUID and form ID, and add it as a > child@@ -536,6 +537,7 @@ SendForm ( > } Selection->FormSet =3D FormSet; mSystemLevelFormSet = =3D > FormSet;+ mDynamicFormUpdated =3D FALSE; // // Display = this > formset@@ -547,7 +549,11 @@ SendForm ( > gCurrentSelection =3D NULL; mSystemLevelFormSet =3D NULL; - = if > (gFlagReconnect || gCallbackReconnect) {+ //+ // If callback up= date > form dynamically, it's not exiting of the formset for user so system do n= ot > reconnect driver hanlde+ // this time.+ //+ if > (!mDynamicFormUpdated && (gFlagReconnect || gCallbackReconnect)) > { RetVal =3D ReconnectController (FormSet->DriverHandle); = if (!RetVal) > { PopupErrorMessage(BROWSER_RECONNECT_FAIL, NULL, NULL, > NULL);-- > 2.23.0.windows.1