[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC: PATCH 4/5] Remove REV from DeviceID
Yes, it adds the requirement that the INF file must always use a revisioned ID in the DDInstall section
Owen
[CAUTION - EXTERNAL EMAIL] DO NOT reply, click links, or open attachments unless you have verified the sender and know the content is safe.
On 31/08/2023 08:49, Owen Smith wrote:
> Driver upgrades use HardwareIDs (or CompatibleIDs) to match the child INF DDInstall
> section (stored as matching device id), but use the DeviceID to generate the device
> instance path. By keeping the device instance path the same over upgrades, the network
> stack should identify this as an upgrade, rather than 'replacement hardware', and
> not generate a new network connection, which would require network settings to be
> copied from the existing network connection to the new network connection.
>
> Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx>
OK. As long as this is never used for selecting the driver to install
then we should be safe.
> ---
> src/xenvif/pdo.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/src/xenvif/pdo.c b/src/xenvif/pdo.c
> index d43702e..288419c 100644
> --- a/src/xenvif/pdo.c
> +++ b/src/xenvif/pdo.c
> @@ -2062,18 +2062,12 @@ PdoQueryId(
> break;
>
> case BusQueryDeviceID: {
> - ULONG Index;
> - PXENVIF_PDO_REVISION Revision;
> -
> Type = REG_SZ;
> - Index = ARRAYSIZE(PdoRevision) - 1;
> - Revision = &PdoRevision[Index];
>
> status = RtlStringCbPrintfW(Buffer,
> Id.MaximumLength,
> - L"XENVIF\\VEN_%hs&DEV_NET&REV_%08X",
> - __PdoGetVendorName(Pdo),
> - Revision->Number);
> + L"XENVIF\\VEN_%hs&DEV_NET",
> + __PdoGetVendorName(Pdo));
> ASSERT(NT_SUCCESS(status));
>
> Buffer += wcslen(Buffer);
|