Lines Matching refs:method
71 static int method_in_use(struct ib_mad_mgmt_method_table **method,
165 struct ib_mad_mgmt_method_table *method; in is_vendor_method_in_use() local
170 method = vendor_class->method_table[i]; in is_vendor_method_in_use()
171 if (method) { in is_vendor_method_in_use()
172 if (method_in_use(&method, mad_reg_req)) in is_vendor_method_in_use()
184 return ((hdr->method & IB_MGMT_METHOD_RESP) || in ib_response_mad()
185 (hdr->method == IB_MGMT_METHOD_TRAP_REPRESS) || in ib_response_mad()
211 struct ib_mad_mgmt_method_table *method; in ib_register_mad_agent() local
384 method = class->method_table[mgmt_class]; in ib_register_mad_agent()
385 if (method) { in ib_register_mad_agent()
386 if (method_in_use(&method, in ib_register_mad_agent()
1346 static int method_in_use(struct ib_mad_mgmt_method_table **method, in method_in_use() argument
1352 if ((*method)->agent[i]) { in method_in_use()
1360 static int allocate_method_table(struct ib_mad_mgmt_method_table **method) in allocate_method_table() argument
1363 *method = kzalloc(sizeof **method, GFP_ATOMIC); in allocate_method_table()
1364 if (!*method) { in allocate_method_table()
1375 static int check_method_table(struct ib_mad_mgmt_method_table *method) in check_method_table() argument
1380 if (method->agent[i]) in check_method_table()
1432 static void remove_methods_mad_agent(struct ib_mad_mgmt_method_table *method, in remove_methods_mad_agent() argument
1439 if (method->agent[i] == agent) { in remove_methods_mad_agent()
1440 method->agent[i] = NULL; in remove_methods_mad_agent()
1451 struct ib_mad_mgmt_method_table **method; in add_nonoui_reg_req() local
1467 method = &(*class)->method_table[mgmt_class]; in add_nonoui_reg_req()
1468 if ((ret = allocate_method_table(method))) in add_nonoui_reg_req()
1471 method = &(*class)->method_table[mgmt_class]; in add_nonoui_reg_req()
1472 if (!*method) { in add_nonoui_reg_req()
1474 if ((ret = allocate_method_table(method))) in add_nonoui_reg_req()
1480 if (method_in_use(method, mad_reg_req)) in add_nonoui_reg_req()
1485 (*method)->agent[i] = agent_priv; in add_nonoui_reg_req()
1491 remove_methods_mad_agent(*method, agent_priv); in add_nonoui_reg_req()
1493 if (!check_method_table(*method)) { in add_nonoui_reg_req()
1495 kfree(*method); in add_nonoui_reg_req()
1496 *method = NULL; in add_nonoui_reg_req()
1514 struct ib_mad_mgmt_method_table **method; in add_oui_reg_req() local
1549 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1551 BUG_ON(!*method); in add_oui_reg_req()
1559 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1561 BUG_ON(*method); in add_oui_reg_req()
1563 if ((ret = allocate_method_table(method))) in add_oui_reg_req()
1575 if (method_in_use(method, mad_reg_req)) in add_oui_reg_req()
1580 (*method)->agent[i] = agent_priv; in add_oui_reg_req()
1586 remove_methods_mad_agent(*method, agent_priv); in add_oui_reg_req()
1588 if (!check_method_table(*method)) { in add_oui_reg_req()
1590 kfree(*method); in add_oui_reg_req()
1591 *method = NULL; in add_oui_reg_req()
1612 struct ib_mad_mgmt_method_table *method; in remove_mad_reg_req() local
1633 method = class->method_table[mgmt_class]; in remove_mad_reg_req()
1634 if (method) { in remove_mad_reg_req()
1636 remove_methods_mad_agent(method, agent_priv); in remove_mad_reg_req()
1638 if (!check_method_table(method)) { in remove_mad_reg_req()
1640 kfree(method); in remove_mad_reg_req()
1670 method = vendor_class->method_table[index]; in remove_mad_reg_req()
1671 if (method) { in remove_mad_reg_req()
1673 remove_methods_mad_agent(method, agent_priv); in remove_mad_reg_req()
1678 if (!check_method_table(method)) { in remove_mad_reg_req()
1680 kfree(method); in remove_mad_reg_req()
1730 struct ib_mad_mgmt_method_table *method; in find_mad_agent() local
1750 method = class->method_table[convert_mgmt_class( in find_mad_agent()
1752 if (method) in find_mad_agent()
1753 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1769 method = vendor_class->method_table[index]; in find_mad_agent()
1770 if (method) { in find_mad_agent()
1771 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1817 (mad_hdr->method != IB_MGMT_METHOD_SEND)) in validate_mad()
2074 if (recv_hdr->method == IB_MGMT_METHOD_GET || in generate_unmatched_resp()
2075 recv_hdr->method == IB_MGMT_METHOD_SET) { in generate_unmatched_resp()
2080 resp_hdr->method = IB_MGMT_METHOD_GET_RESP; in generate_unmatched_resp()