From: Egbert Eich Date: Mon, 4 Jul 2011 05:38:33 +0000 (+0200) Subject: PCI: set correct mask value when matching for bridges. X-Git-Tag: libpciaccess-0.13.2~19 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Flibpciaccess.git;a=commitdiff_plain;h=0ad7b5c548ecf409a1fdd835bde52a8cf5371b7a PCI: set correct mask value when matching for bridges. The mask must not be zero otherwise the matching condition will never be true: ((val & mask) == set). Signed-off-by: Egbert Eich Reviewed-by: Guillem Jover --- diff --git a/src/common_bridge.c b/src/common_bridge.c index 4a067b9..82a13fd 100644 --- a/src/common_bridge.c +++ b/src/common_bridge.c @@ -321,6 +321,8 @@ pci_device_get_bridge_buses(struct pci_device * dev, int *primary_bus, #define PCI_CLASS_BRIDGE 0x06 #define PCI_SUBCLASS_BRIDGE_PCI 0x04 +#define PCI_CLASS_MASK 0xFF +#define PCI_SUBCLASS_MASK 0xFF struct pci_device * pci_device_get_parent_bridge(struct pci_device *dev) @@ -328,7 +330,7 @@ pci_device_get_parent_bridge(struct pci_device *dev) struct pci_id_match bridge_match = { PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, PCI_MATCH_ANY, (PCI_CLASS_BRIDGE << 16) | (PCI_SUBCLASS_BRIDGE_PCI << 8), - 0 + (PCI_CLASS_MASK << 16) | (PCI_SUBCLASS_MASK << 8) }; struct pci_device *bridge;