From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.8243.1586679702933204870 for ; Sun, 12 Apr 2020 01:21:43 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ard.biesheuvel@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AF6171FB; Sun, 12 Apr 2020 01:21:41 -0700 (PDT) Received: from [10.37.8.50] (unknown [10.37.8.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 54C003F68F; Sun, 12 Apr 2020 01:21:40 -0700 (PDT) Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/DeviceManagerUiLib: connect all before creating menu page To: "Bi, Dandan" , "devel@edk2.groups.io" , "lersek@redhat.com" Cc: "Gao, Zhichao" , "Ni, Ray" , "Wang, Jian J" , "Wu, Hao A" References: <20200408172807.10108-1-ard.biesheuvel@arm.com> <1e1d4c9d-01ed-2b65-69ec-278f95309d25@redhat.com> <3C0D5C461C9E904E8F62152F6274C0BB40DB1A8A@SHSMSX104.ccr.corp.intel.com> From: "Ard Biesheuvel" Message-ID: <90d4edc7-421d-3ed1-3deb-6ce7ff6402bd@arm.com> Date: Sun, 12 Apr 2020 10:21:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <3C0D5C461C9E904E8F62152F6274C0BB40DB1A8A@SHSMSX104.ccr.corp.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 4/12/20 9:55 AM, Bi, Dandan wrote: > Hi Ard, > > It seems that the root cause is the 'Network Device List' in the device manager menu is crated before EfiBootManagerConnectAll () is called in UiEntry function. > If we choose to add the EfiBootManagerConnectAll() in DeviceManagerUiLib with this patch, could we don't call the EfiBootManagerConnectAll() in UiEntry to avoid it's called twice when enter UiApp? > DeviceManagerUiLib is optional - this seems to be the purpose of the modular nature of UiApp with the NULL library class resolution. Removing EfiBootManagerConnectAll() from UiApp itself means it may not ever be called.