summaryrefslogtreecommitdiffstats
path: root/src/net/infiniband/ib_gma.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/infiniband/ib_gma.c')
-rw-r--r--src/net/infiniband/ib_gma.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/net/infiniband/ib_gma.c b/src/net/infiniband/ib_gma.c
index 89f0eeb1..405d7861 100644
--- a/src/net/infiniband/ib_gma.c
+++ b/src/net/infiniband/ib_gma.c
@@ -86,7 +86,8 @@ static int ib_handle_mad ( struct ib_gma *gma, union ib_mad *mad ) {
struct ib_gma_handler *handler;
for_each_table_entry ( handler, IB_GMA_HANDLERS ) {
- if ( ( handler->mgmt_class == hdr->mgmt_class ) &&
+ if ( ( ( handler->mgmt_class & ~handler->mgmt_class_ignore ) ==
+ ( hdr->mgmt_class & ~handler->mgmt_class_ignore ) ) &&
( handler->class_version == hdr->class_version ) &&
( handler->method == hdr->method ) &&
( handler->attr_id == hdr->attr_id ) ) {