pci/pci.c: fix some pci BUGs

fix some pci BUGs that make it impossible to match PCI device

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This commit is contained in:
Bowen Wang
2024-02-24 20:01:50 +08:00
committed by Xiang Xiao
parent 8e7c0617ff
commit 4fe2a0daf8
+4 -4
View File
@@ -113,7 +113,7 @@
(id)->subvendor == (dev)->subsystem_vendor) && \
((id)->subdevice == PCI_ANY_ID || \
(id)->subdevice == (dev)->subsystem_device) && \
(((id)->class ^ (dev)->class) & ((id)->class_mask == 0)))
((((id)->class ^ (dev)->class) & (id)->class_mask) == 0))
/****************************************************************************
* Private Function Prototypes
@@ -703,7 +703,7 @@ static void pci_setup_device(FAR struct pci_device_s *dev, int max_bar,
{
/* IO */
size = pci_size(orig, mask, 0xfffffff0);
size = pci_size(orig, mask, 0xfffffffe);
flags = PCI_RESOURCE_IO;
res = &dev->bus->ctrl->io;
}
@@ -712,7 +712,7 @@ static void pci_setup_device(FAR struct pci_device_s *dev, int max_bar,
{
/* Prefetchable MEM */
size = pci_size(orig, mask, 0xfffffffe);
size = pci_size(orig, mask, 0xfffffff0);
flags = PCI_RESOURCE_MEM | PCI_RESOURCE_PREFETCH;
res = &dev->bus->ctrl->mem_pref;
}
@@ -720,7 +720,7 @@ static void pci_setup_device(FAR struct pci_device_s *dev, int max_bar,
{
/* Non-prefetch MEM */
size = pci_size(orig, mask, 0xfffffffe);
size = pci_size(orig, mask, 0xfffffff0);
flags = PCI_RESOURCE_MEM;
res = &dev->bus->ctrl->mem;
}