The mask must not be zero otherwise the matching condition will never be true: ((val & mask) == set).
Signed-off-by: Egbert Eich <[email protected]> --- src/common_bridge.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) 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; -- 1.7.7 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
