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-----