Lines Matching refs:vendor_class
184 struct ib_mad_mgmt_vendor_class *vendor_class, in is_vendor_method_in_use() argument
191 if (!memcmp(vendor_class->oui[i], mad_reg_req->oui, 3)) { in is_vendor_method_in_use()
192 method = vendor_class->method_table[i]; in is_vendor_method_in_use()
234 struct ib_mad_mgmt_vendor_class *vendor_class; in ib_register_mad_agent() local
446 vendor_class = vendor->vendor_class[vclass]; in ib_register_mad_agent()
447 if (vendor_class) { in ib_register_mad_agent()
449 vendor_class, in ib_register_mad_agent()
1230 static int check_vendor_class(struct ib_mad_mgmt_vendor_class *vendor_class) in check_vendor_class() argument
1235 if (vendor_class->method_table[i]) in check_vendor_class()
1240 static int find_vendor_oui(struct ib_mad_mgmt_vendor_class *vendor_class, in find_vendor_oui() argument
1247 if (!memcmp(vendor_class->oui[i], oui, 3)) in find_vendor_oui()
1258 if (vendor->vendor_class[i]) in check_vendor_table()
1341 struct ib_mad_mgmt_vendor_class *vendor_class = NULL; in add_oui_reg_req() local
1359 if (!(*vendor_table)->vendor_class[vclass]) { in add_oui_reg_req()
1361 vendor_class = kzalloc(sizeof *vendor_class, GFP_ATOMIC); in add_oui_reg_req()
1362 if (!vendor_class) in add_oui_reg_req()
1365 (*vendor_table)->vendor_class[vclass] = vendor_class; in add_oui_reg_req()
1369 if (!memcmp((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1371 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1380 if (!is_vendor_oui((*vendor_table)->vendor_class[ in add_oui_reg_req()
1382 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1390 memcpy((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1420 if (vendor_class) { in add_oui_reg_req()
1421 (*vendor_table)->vendor_class[vclass] = NULL; in add_oui_reg_req()
1422 kfree(vendor_class); in add_oui_reg_req()
1439 struct ib_mad_mgmt_vendor_class *vendor_class; in remove_mad_reg_req() local
1489 vendor_class = vendor->vendor_class[mgmt_class]; in remove_mad_reg_req()
1490 if (vendor_class) { in remove_mad_reg_req()
1491 index = find_vendor_oui(vendor_class, agent_priv->reg_req->oui); in remove_mad_reg_req()
1494 method = vendor_class->method_table[index]; in remove_mad_reg_req()
1505 vendor_class->method_table[index] = NULL; in remove_mad_reg_req()
1506 memset(vendor_class->oui[index], 0, 3); in remove_mad_reg_req()
1508 if (!check_vendor_class(vendor_class)) { in remove_mad_reg_req()
1510 kfree(vendor_class); in remove_mad_reg_req()
1511 vendor->vendor_class[mgmt_class] = NULL; in remove_mad_reg_req()
1553 struct ib_mad_mgmt_vendor_class *vendor_class; in find_mad_agent() local
1582 vendor_class = vendor->vendor_class[vendor_class_index( in find_mad_agent()
1584 if (!vendor_class) in find_mad_agent()
1588 index = find_vendor_oui(vendor_class, vendor_mad->oui); in find_mad_agent()
1591 method = vendor_class->method_table[index]; in find_mad_agent()