Re: [PATCH v1 2/4] drm/hyperv: Explicitly set subvendor and subdevice for pci match array

Uwe Kleine-König (The Capable Hub) <[email protected]>
Newsgroups org.kernel.vger.linux-hyperv,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel
Message-ID <akYkWQzXIo-y3n4J@monoceros>
Hallo Thomas,

On Thu, Jul 02, 2026 at 08:43:32AM +0200, Thomas Zimmermann wrote:
> Am 01.07.26 um 19:05 schrieb Uwe Kleine-König (The Capable Hub):
> > .subvendor and .subdevice were set to 0 implicitly, so only devices with
> > these two values set to 0 in hardware can probe automatically. Make this
> > requirement explicit.
> > 
> > While touching this array item, also make use of the pci macro designed
> > for that case.
> > 
> > Signed-off-by: Uwe Kleine-König (The Capable Hub) <[email protected]>
> > ---
> >   drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> > index 2e75fb793495..e766d87b7a9d 100644
> > --- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> > +++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
> > @@ -51,8 +51,8 @@ static void hv_drm_pci_remove(struct pci_dev *pdev)
> >   static const struct pci_device_id hv_drm_pci_tbl[] = {
> >   	{
> > -		.vendor = PCI_VENDOR_ID_MICROSOFT,
> > -		.device = PCI_DEVICE_ID_HYPERV_VIDEO,
> > +		PCI_VDEVICE_SUB(MICROSOFT, PCI_DEVICE_ID_HYPERV_VIDEO,
> > +				0, 0),
> 
> IDK, but it looks like an oversight to me.  Setting the sub-fields to ANY
> seems like the better fix.

That was my initial reflex, too. However while writing the commit log
for that change I noticed that since commit d750785f305e ("Staging: hv:
fix hv_utils module to properly autoload") from 2010 (applied to
v2.6.35-rc4) the driver never worked for hardware with .subvendor != 0
or .subdevice != 0. I cannot believe that something like that is
discovered 16 years later by chance during a rework by someone who
didn't try to run that hardware. And if I understand correctly, this is
emulated hardware and so I guess used quite a lot.

Best regards
Uwe
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmpGJssACgkQj4D7WH0S
/k55cwf/UJBZ26bD2BNncRiKxBadwLt7x6gNyMi02vNafvcP5U6SmmmXCVTWPNxg
21tfbjDQBmk+B4wGTrcyLJLNWhh04x0o3nvE3aGMX4BjXOJR5LCdexnIuby3mLKU
A8JQTJKyHu2WdtRT4aLITjAE/4g5rYoRzH7UV970O4k1JjRYCJivjRMTpLzNQLYC
ZUA8AkZ9eFlVbt1yPzcrR/lpzk1V8zWQWRHjK16ZGVZpdFA7v2/GNcZTvoYcvZCP
e4jtKrKnSJr3Wwp8sfcEjLHtXlo2EL0GjatENsnFYdb7oyrQxXoLQ0G4EBxy9I37
JtoxY9CMlHLAsBUDt0gv/ecgN9xosg==
=QzVa
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.