git: 443e07f7980f - stable/14 - LinuxKPI: pci: use unsigned int for vendor/device arguments

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Fri, 16 Jan 2026 19:40:15 UTC
The branch stable/14 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=443e07f7980f8e777b7513e72769da639dd4e0e9

commit 443e07f7980f8e777b7513e72769da639dd4e0e9
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-07-31 07:24:58 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-01-16 19:37:39 +0000

    LinuxKPI: pci: use unsigned int for vendor/device arguments
    
    Linux drivers may pass a typed PCI_ANY_ID (-1U) in which then leads
    to a warning that the value gets truncated.  Switch argument types
    to unsigned int (or uint32_t as we use in struct pci_device_id) to
    avoid the problem.
    
    Sponsored by:   The FreeBSD Foundation
    Discussed in:   D50008
    Reviewed by:    emaste
    Differential Revision: https://reviews.freebsd.org/D51652
    
    (cherry picked from commit a96486531b915c621947980d01decff759afc65e)
---
 sys/compat/linuxkpi/common/include/linux/pci.h | 4 ++--
 sys/compat/linuxkpi/common/src/linux_pci.c     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index af3a4f276930..614cea0e7144 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -369,7 +369,7 @@ int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries,
 /* Internal helper function(s). */
 struct pci_dev *lkpinew_pci_dev(device_t);
 void lkpi_pci_devres_release(struct device *, void *);
-struct pci_dev *lkpi_pci_get_device(uint16_t, uint16_t, struct pci_dev *);
+struct pci_dev *lkpi_pci_get_device(uint32_t, uint32_t, struct pci_dev *);
 struct msi_desc *lkpi_pci_msi_desc_alloc(int);
 struct device *lkpi_pci_find_irq_dev(unsigned int irq);
 int _lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec);
@@ -1415,7 +1415,7 @@ err:
  * using pci_get_device() need to be changed to call linuxkpi_pci_get_device().
  */
 static inline struct pci_dev *
-linuxkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev)
+linuxkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev)
 {
 
 	return (lkpi_pci_get_device(vendor, device, odev));
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c
index 3c17dbbd82c3..77acbc48c408 100644
--- a/sys/compat/linuxkpi/common/src/linux_pci.c
+++ b/sys/compat/linuxkpi/common/src/linux_pci.c
@@ -286,7 +286,7 @@ linux_pci_find(device_t dev, const struct pci_device_id **idp)
 }
 
 struct pci_dev *
-lkpi_pci_get_device(uint16_t vendor, uint16_t device, struct pci_dev *odev)
+lkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev)
 {
 	struct pci_dev *pdev, *found;