diff options
author | Egbert Eich <eich@freedesktop.org> | 2011-07-04 07:38:33 +0200 |
---|---|---|
committer | Egbert Eich <eich@freedesktop.org> | 2013-01-03 10:22:54 -0500 |
commit | 0ad7b5c548ecf409a1fdd835bde52a8cf5371b7a (patch) | |
tree | 40d5451a9505c3465bade28762489e9e38f42d9a | |
parent | 72e0c0b4d4680b7a7b4b42be525d406635dae40f (diff) | |
download | libpciaccess-0ad7b5c548ecf409a1fdd835bde52a8cf5371b7a.tar.gz libpciaccess-0ad7b5c548ecf409a1fdd835bde52a8cf5371b7a.tar.bz2 libpciaccess-0ad7b5c548ecf409a1fdd835bde52a8cf5371b7a.zip |
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 <eich@freedesktop.org>
Reviewed-by: Guillem Jover <guillem@hadrons.org>
-rw-r--r-- | 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; |