Lines Matching refs:vendor_class
168 struct ib_mad_mgmt_vendor_class *vendor_class, in is_vendor_method_in_use() argument
175 if (!memcmp(vendor_class->oui[i], mad_reg_req->oui, 3)) { in is_vendor_method_in_use()
176 method = vendor_class->method_table[i]; in is_vendor_method_in_use()
218 struct ib_mad_mgmt_vendor_class *vendor_class; in ib_register_mad_agent() local
425 vendor_class = vendor->vendor_class[vclass]; in ib_register_mad_agent()
426 if (vendor_class) { in ib_register_mad_agent()
428 vendor_class, in ib_register_mad_agent()
1435 static int check_vendor_class(struct ib_mad_mgmt_vendor_class *vendor_class) in check_vendor_class() argument
1440 if (vendor_class->method_table[i]) in check_vendor_class()
1445 static int find_vendor_oui(struct ib_mad_mgmt_vendor_class *vendor_class, in find_vendor_oui() argument
1452 if (!memcmp(vendor_class->oui[i], oui, 3)) in find_vendor_oui()
1463 if (vendor->vendor_class[i]) in check_vendor_table()
1548 struct ib_mad_mgmt_vendor_class *vendor_class = NULL; in add_oui_reg_req() local
1566 if (!(*vendor_table)->vendor_class[vclass]) { in add_oui_reg_req()
1568 vendor_class = kzalloc(sizeof *vendor_class, GFP_ATOMIC); in add_oui_reg_req()
1569 if (!vendor_class) in add_oui_reg_req()
1572 (*vendor_table)->vendor_class[vclass] = vendor_class; in add_oui_reg_req()
1576 if (!memcmp((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1578 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1587 if (!is_vendor_oui((*vendor_table)->vendor_class[ in add_oui_reg_req()
1589 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1597 memcpy((*vendor_table)->vendor_class[vclass]->oui[i], in add_oui_reg_req()
1627 if (vendor_class) { in add_oui_reg_req()
1628 (*vendor_table)->vendor_class[vclass] = NULL; in add_oui_reg_req()
1629 kfree(vendor_class); in add_oui_reg_req()
1646 struct ib_mad_mgmt_vendor_class *vendor_class; in remove_mad_reg_req() local
1697 vendor_class = vendor->vendor_class[mgmt_class]; in remove_mad_reg_req()
1698 if (vendor_class) { in remove_mad_reg_req()
1699 index = find_vendor_oui(vendor_class, agent_priv->reg_req->oui); in remove_mad_reg_req()
1702 method = vendor_class->method_table[index]; in remove_mad_reg_req()
1713 vendor_class->method_table[index] = NULL; in remove_mad_reg_req()
1714 memset(vendor_class->oui[index], 0, 3); in remove_mad_reg_req()
1716 if (!check_vendor_class(vendor_class)) { in remove_mad_reg_req()
1718 kfree(vendor_class); in remove_mad_reg_req()
1719 vendor->vendor_class[mgmt_class] = NULL; in remove_mad_reg_req()
1761 struct ib_mad_mgmt_vendor_class *vendor_class; in find_mad_agent() local
1790 vendor_class = vendor->vendor_class[vendor_class_index( in find_mad_agent()
1792 if (!vendor_class) in find_mad_agent()
1796 index = find_vendor_oui(vendor_class, vendor_mad->oui); in find_mad_agent()
1799 method = vendor_class->method_table[index]; in find_mad_agent()