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 ((mad->mad_hdr.method & IB_MGMT_METHOD_RESP) || in ib_response_mad()
185 (mad->mad_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
391 method = class->method_table[mgmt_class]; in ib_register_mad_agent()
392 if (method) { in ib_register_mad_agent()
393 if (method_in_use(&method, in ib_register_mad_agent()
1264 static int method_in_use(struct ib_mad_mgmt_method_table **method, in method_in_use() argument
1270 if ((*method)->agent[i]) { in method_in_use()
1278 static int allocate_method_table(struct ib_mad_mgmt_method_table **method) in allocate_method_table() argument
1281 *method = kzalloc(sizeof **method, GFP_ATOMIC); in allocate_method_table()
1282 if (!*method) { in allocate_method_table()
1293 static int check_method_table(struct ib_mad_mgmt_method_table *method) in check_method_table() argument
1298 if (method->agent[i]) in check_method_table()
1350 static void remove_methods_mad_agent(struct ib_mad_mgmt_method_table *method, in remove_methods_mad_agent() argument
1357 if (method->agent[i] == agent) { in remove_methods_mad_agent()
1358 method->agent[i] = NULL; in remove_methods_mad_agent()
1369 struct ib_mad_mgmt_method_table **method; in add_nonoui_reg_req() local
1385 method = &(*class)->method_table[mgmt_class]; in add_nonoui_reg_req()
1386 if ((ret = allocate_method_table(method))) in add_nonoui_reg_req()
1389 method = &(*class)->method_table[mgmt_class]; in add_nonoui_reg_req()
1390 if (!*method) { in add_nonoui_reg_req()
1392 if ((ret = allocate_method_table(method))) in add_nonoui_reg_req()
1398 if (method_in_use(method, mad_reg_req)) in add_nonoui_reg_req()
1403 (*method)->agent[i] = agent_priv; in add_nonoui_reg_req()
1409 remove_methods_mad_agent(*method, agent_priv); in add_nonoui_reg_req()
1411 if (!check_method_table(*method)) { in add_nonoui_reg_req()
1413 kfree(*method); in add_nonoui_reg_req()
1414 *method = NULL; in add_nonoui_reg_req()
1432 struct ib_mad_mgmt_method_table **method; in add_oui_reg_req() local
1467 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1469 BUG_ON(!*method); in add_oui_reg_req()
1477 method = &(*vendor_table)->vendor_class[ in add_oui_reg_req()
1479 BUG_ON(*method); in add_oui_reg_req()
1481 if ((ret = allocate_method_table(method))) in add_oui_reg_req()
1493 if (method_in_use(method, mad_reg_req)) in add_oui_reg_req()
1498 (*method)->agent[i] = agent_priv; in add_oui_reg_req()
1504 remove_methods_mad_agent(*method, agent_priv); in add_oui_reg_req()
1506 if (!check_method_table(*method)) { in add_oui_reg_req()
1508 kfree(*method); in add_oui_reg_req()
1509 *method = NULL; in add_oui_reg_req()
1530 struct ib_mad_mgmt_method_table *method; in remove_mad_reg_req() local
1551 method = class->method_table[mgmt_class]; in remove_mad_reg_req()
1552 if (method) { in remove_mad_reg_req()
1554 remove_methods_mad_agent(method, agent_priv); in remove_mad_reg_req()
1556 if (!check_method_table(method)) { in remove_mad_reg_req()
1558 kfree(method); in remove_mad_reg_req()
1588 method = vendor_class->method_table[index]; in remove_mad_reg_req()
1589 if (method) { in remove_mad_reg_req()
1591 remove_methods_mad_agent(method, agent_priv); in remove_mad_reg_req()
1596 if (!check_method_table(method)) { in remove_mad_reg_req()
1598 kfree(method); in remove_mad_reg_req()
1648 struct ib_mad_mgmt_method_table *method; in find_mad_agent() local
1668 method = class->method_table[convert_mgmt_class( in find_mad_agent()
1670 if (method) in find_mad_agent()
1671 mad_agent = method->agent[mad->mad_hdr.method & in find_mad_agent()
1687 method = vendor_class->method_table[index]; in find_mad_agent()
1688 if (method) { in find_mad_agent()
1689 mad_agent = method->agent[mad->mad_hdr.method & in find_mad_agent()
1930 if (recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_GET || in generate_unmatched_resp()
1931 recv->mad.mad.mad_hdr.method == IB_MGMT_METHOD_SET) { in generate_unmatched_resp()
1936 response->mad.mad.mad_hdr.method = IB_MGMT_METHOD_GET_RESP; in generate_unmatched_resp()