uart/pci: always disable MSI for generic devices

The generic device pci_id structure in uart_pci_probe() already has
PCI_NO_MSI appended to it's flags, however that information is not
propagated into uart_pci_attach().

Assume that any device that doesn't match the known IDs is a generic UART
device, and hence prevent the usage of MSIs.

MFC: 2 weeks
Reviewed by: imp
Differential revision: https://reviews.freebsd.org/D56097
This commit is contained in:
Roger Pau Monné
2026-03-26 20:59:24 +01:00
parent 1491fe8f86
commit c562c81e31
+2 -1
View File
@@ -339,7 +339,8 @@ uart_pci_attach(device_t dev)
* suggests this is only reliable when one MSI vector is advertised.
*/
id = uart_pci_match(dev, pci_ns8250_ids);
if ((id == NULL || (id->rid & PCI_NO_MSI) == 0) &&
/* Always disable MSI for generic devices. */
if (id != NULL && (id->rid & PCI_NO_MSI) == 0 &&
pci_msi_count(dev) == 1) {
count = 1;
if (pci_alloc_msi(dev, &count) == 0) {