[PATCH libpciaccess] PCI: set correct mask value when matching for bridges.
Guillem Jover
guillem at hadrons.org
Wed Dec 12 03:20:28 PST 2012
On Wed, 2012-12-05 at 12:30:11 -0500, Egbert Eich wrote:
> The mask must not be zero otherwise the matching condition will never
> be true: ((val & mask) == set).
>
> Signed-off-by: Egbert Eich <eich at freedesktop.org>
> ---
> 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;
Reviewed-by: Guillem Jover <guillem at hadrons.org>
Regards,
Guillem
More information about the xorg-devel
mailing list