]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: 8250_pci: Don't specify conflicting values to pci_device_id members
authorUwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Wed, 3 Jun 2026 09:56:16 +0000 (11:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Jun 2026 09:55:41 +0000 (11:55 +0200)
The PCI_VDEVICE macro assigns 0 to .class and .class_mask to allow the
next value in the initializer to define the value for .driver_data.

So the construct

{
PCI_VDEVICE(INTASHIELD, 0x0D21),
.class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
.class_mask = 0xffff00,
.driver_data = pbn_b2_4_115200,
},

introduced in commit 44e55f1f3088 ("serial: 8250_pci: Consistently
define pci_device_ids using named initializers") has conflicting
assignments. In only some configurations (i.e. W=1 for me) that makes
the compiler unhappy.

So convert the two affected items to PCI_DEVICE which doesn't have that
hidden assigment to .class and .class_mask.

Fixes: 44e55f1f3088 ("serial: 8250_pci: Consistently define pci_device_ids using named initializers")
Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Closes: https://lore.kernel.org/linux-serial/ah_5qVKOf8LXG1Xo@ashevche-desk.local/T/#ma6eab90ca801b4292639f5c255a89b4033b33d21
Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20260603095616.937968-2-u.kleine-koenig@baylibre.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pci.c

index 3e5bc9e8d2694053c9e2919326000ccb3b890017..58b4e525bdb651b1c093af6793ebbad8c7165f9e 100644 (file)
@@ -5394,12 +5394,12 @@ static const struct pci_device_id serial_pci_tbl[] = {
         * Brainboxes UC-260/271/701/756
         */
        {
-               PCI_VDEVICE(INTASHIELD, 0x0D21),
+               PCI_DEVICE(PCI_VENDOR_ID_INTASHIELD, 0x0D21),
                .class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
                .class_mask = 0xffff00,
                .driver_data = pbn_b2_4_115200,
        }, {
-               PCI_VDEVICE(INTASHIELD, 0x0E34),
+               PCI_DEVICE(PCI_VENDOR_ID_INTASHIELD, 0x0E34),
                .class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
                .class_mask = 0xffff00,
                .driver_data = pbn_b2_4_115200,