Lines Matching refs:vendor_class
162 struct ib_mad_mgmt_vendor_class *vendor_class, in is_vendor_method_in_use() argument
169 if (!memcmp(vendor_class->oui[i], mad_reg_req->oui, 3)) { in is_vendor_method_in_use()
170 method = vendor_class->method_table[i]; in is_vendor_method_in_use()
210 struct ib_mad_mgmt_vendor_class *vendor_class; in ib_register_mad_agent() local
399 vendor_class = vendor->vendor_class[vclass]; in ib_register_mad_agent()
400 if (vendor_class) { in ib_register_mad_agent()
402 vendor_class, in ib_register_mad_agent()
1398 static int check_vendor_class(struct ib_mad_mgmt_vendor_class *vendor_class) in check_vendor_class() argument
1403 if (vendor_class->method_table[i]) in check_vendor_class()
1408 static int find_vendor_oui(struct ib_mad_mgmt_vendor_class *vendor_class, in find_vendor_oui() argument
1415 if (!memcmp(vendor_class->oui[i], oui, 3)) in find_vendor_oui()
1426 if (vendor->vendor_class[i]) in check_vendor_table()
1513 struct ib_mad_mgmt_vendor_class *vendor_class = NULL; in add_oui_reg_req() local
1534 if (!(*vendor_table)->vendor_class[vclass]) { in add_oui_reg_req()
1536 vendor_class = kzalloc(sizeof *vendor_class, GFP_ATOMIC); in add_oui_reg_req()
1537 if (!vendor_class) { in add_oui_reg_req()
1543 (*vendor_table)->vendor_class[vclass] = vendor_class; in add_oui_reg_req()
1547 if (!memcmp((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1549 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1557 if (!is_vendor_oui((*vendor_table)->vendor_class[ in add_oui_reg_req()
1559 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1565 memcpy((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1595 if (vendor_class) { in add_oui_reg_req()
1596 (*vendor_table)->vendor_class[vclass] = NULL; in add_oui_reg_req()
1597 kfree(vendor_class); in add_oui_reg_req()
1614 struct ib_mad_mgmt_vendor_class *vendor_class; in remove_mad_reg_req() local
1665 vendor_class = vendor->vendor_class[mgmt_class]; in remove_mad_reg_req()
1666 if (vendor_class) { in remove_mad_reg_req()
1667 index = find_vendor_oui(vendor_class, agent_priv->reg_req->oui); in remove_mad_reg_req()
1670 method = vendor_class->method_table[index]; in remove_mad_reg_req()
1681 vendor_class->method_table[index] = NULL; in remove_mad_reg_req()
1682 memset(vendor_class->oui[index], 0, 3); in remove_mad_reg_req()
1684 if (!check_vendor_class(vendor_class)) { in remove_mad_reg_req()
1686 kfree(vendor_class); in remove_mad_reg_req()
1687 vendor->vendor_class[mgmt_class] = NULL; in remove_mad_reg_req()
1732 struct ib_mad_mgmt_vendor_class *vendor_class; in find_mad_agent() local
1760 vendor_class = vendor->vendor_class[vendor_class_index( in find_mad_agent()
1762 if (!vendor_class) in find_mad_agent()
1766 index = find_vendor_oui(vendor_class, vendor_mad->oui); in find_mad_agent()
1769 method = vendor_class->method_table[index]; in find_mad_agent()