Lines Matching refs:recv_msg
264 struct ipmi_recv_msg *recv_msg; member
715 && (intf->seq_table[i].recv_msg)) in clean_up_interface_data()
716 ipmi_free_recv_msg(intf->seq_table[i].recv_msg); in clean_up_interface_data()
1006 struct ipmi_recv_msg *recv_msg, in intf_next_seq() argument
1028 intf->seq_table[i].recv_msg = recv_msg; in intf_next_seq()
1065 struct ipmi_recv_msg **recv_msg) in intf_find_seq() argument
1075 struct ipmi_recv_msg *msg = intf->seq_table[seq].recv_msg; in intf_find_seq()
1080 *recv_msg = msg; in intf_find_seq()
1145 msg = ent->recv_msg; in intf_err_seq()
1317 && (intf->seq_table[i].recv_msg->user == user)) { in _ipmi_destroy_user()
1320 ipmi_free_recv_msg(intf->seq_table[i].recv_msg); in _ipmi_destroy_user()
1864 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_sysintf() argument
1880 memcpy(&recv_msg->addr, smi_addr, sizeof(*smi_addr)); in i_ipmi_req_sysintf()
1917 smi_msg->user_data = recv_msg; in i_ipmi_req_sysintf()
1931 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_ipmb() argument
1982 memcpy(&recv_msg->addr, ipmb_addr, sizeof(*ipmb_addr)); in i_ipmi_req_ipmb()
1984 if (recv_msg->msg.netfn & 0x1) { in i_ipmi_req_ipmb()
1998 smi_msg->user_data = recv_msg; in i_ipmi_req_ipmb()
2018 recv_msg, in i_ipmi_req_ipmb()
2047 memcpy(recv_msg->msg_data, smi_msg->data, in i_ipmi_req_ipmb()
2049 recv_msg->msg.data = recv_msg->msg_data; in i_ipmi_req_ipmb()
2050 recv_msg->msg.data_len = smi_msg->data_size; in i_ipmi_req_ipmb()
2072 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_lan() argument
2110 memcpy(&recv_msg->addr, lan_addr, sizeof(*lan_addr)); in i_ipmi_req_lan()
2112 if (recv_msg->msg.netfn & 0x1) { in i_ipmi_req_lan()
2125 smi_msg->user_data = recv_msg; in i_ipmi_req_lan()
2137 recv_msg, in i_ipmi_req_lan()
2165 memcpy(recv_msg->msg_data, smi_msg->data, in i_ipmi_req_lan()
2167 recv_msg->msg.data = recv_msg->msg_data; in i_ipmi_req_lan()
2168 recv_msg->msg.data_len = smi_msg->data_size; in i_ipmi_req_lan()
2206 struct ipmi_recv_msg *recv_msg; in i_ipmi_request() local
2210 recv_msg = supplied_recv; in i_ipmi_request()
2212 recv_msg = ipmi_alloc_recv_msg(); in i_ipmi_request()
2213 if (recv_msg == NULL) { in i_ipmi_request()
2218 recv_msg->user_msg_data = user_msg_data; in i_ipmi_request()
2226 ipmi_free_recv_msg(recv_msg); in i_ipmi_request()
2238 recv_msg->user = user; in i_ipmi_request()
2242 recv_msg->msgid = msgid; in i_ipmi_request()
2247 recv_msg->msg = *msg; in i_ipmi_request()
2251 recv_msg, retries, retry_time_ms); in i_ipmi_request()
2253 rv = i_ipmi_req_ipmb(intf, addr, msgid, msg, smi_msg, recv_msg, in i_ipmi_request()
2257 rv = i_ipmi_req_lan(intf, addr, msgid, msg, smi_msg, recv_msg, in i_ipmi_request()
2268 ipmi_free_recv_msg(recv_msg); in i_ipmi_request()
3587 deliver_err_response(intf, ent->recv_msg, IPMI_ERR_UNSPECIFIED); in cleanup_smi_msgs()
3640 struct ipmi_recv_msg *recv_msg; in handle_ipmb_get_msg_rsp() local
3672 &recv_msg)) { in handle_ipmb_get_msg_rsp()
3681 memcpy(recv_msg->msg_data, &msg->rsp[9], msg->rsp_size - 9); in handle_ipmb_get_msg_rsp()
3687 recv_msg->msg.netfn = msg->rsp[4] >> 2; in handle_ipmb_get_msg_rsp()
3688 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_get_msg_rsp()
3689 recv_msg->msg.data_len = msg->rsp_size - 10; in handle_ipmb_get_msg_rsp()
3690 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_ipmb_get_msg_rsp()
3691 if (deliver_response(intf, recv_msg)) in handle_ipmb_get_msg_rsp()
3709 struct ipmi_recv_msg *recv_msg; in handle_ipmb_get_msg_cmd() local
3767 recv_msg = ipmi_alloc_recv_msg(); in handle_ipmb_get_msg_cmd()
3768 if (!recv_msg) { in handle_ipmb_get_msg_cmd()
3778 ipmb_addr = (struct ipmi_ipmb_addr *) &recv_msg->addr; in handle_ipmb_get_msg_cmd()
3788 recv_msg->user = user; in handle_ipmb_get_msg_cmd()
3789 recv_msg->recv_type = IPMI_CMD_RECV_TYPE; in handle_ipmb_get_msg_cmd()
3790 recv_msg->msgid = msg->rsp[7] >> 2; in handle_ipmb_get_msg_cmd()
3791 recv_msg->msg.netfn = msg->rsp[4] >> 2; in handle_ipmb_get_msg_cmd()
3792 recv_msg->msg.cmd = msg->rsp[8]; in handle_ipmb_get_msg_cmd()
3793 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_get_msg_cmd()
3799 recv_msg->msg.data_len = msg->rsp_size - 10; in handle_ipmb_get_msg_cmd()
3800 memcpy(recv_msg->msg_data, &msg->rsp[9], in handle_ipmb_get_msg_cmd()
3802 if (deliver_response(intf, recv_msg)) in handle_ipmb_get_msg_cmd()
3816 struct ipmi_recv_msg *recv_msg; in handle_lan_get_msg_rsp() local
3852 &recv_msg)) { in handle_lan_get_msg_rsp()
3861 memcpy(recv_msg->msg_data, &msg->rsp[11], msg->rsp_size - 11); in handle_lan_get_msg_rsp()
3867 recv_msg->msg.netfn = msg->rsp[6] >> 2; in handle_lan_get_msg_rsp()
3868 recv_msg->msg.data = recv_msg->msg_data; in handle_lan_get_msg_rsp()
3869 recv_msg->msg.data_len = msg->rsp_size - 12; in handle_lan_get_msg_rsp()
3870 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_lan_get_msg_rsp()
3871 if (deliver_response(intf, recv_msg)) in handle_lan_get_msg_rsp()
3889 struct ipmi_recv_msg *recv_msg; in handle_lan_get_msg_cmd() local
3925 recv_msg = ipmi_alloc_recv_msg(); in handle_lan_get_msg_cmd()
3926 if (!recv_msg) { in handle_lan_get_msg_cmd()
3935 lan_addr = (struct ipmi_lan_addr *) &recv_msg->addr; in handle_lan_get_msg_cmd()
3948 recv_msg->user = user; in handle_lan_get_msg_cmd()
3949 recv_msg->recv_type = IPMI_CMD_RECV_TYPE; in handle_lan_get_msg_cmd()
3950 recv_msg->msgid = msg->rsp[9] >> 2; in handle_lan_get_msg_cmd()
3951 recv_msg->msg.netfn = msg->rsp[6] >> 2; in handle_lan_get_msg_cmd()
3952 recv_msg->msg.cmd = msg->rsp[10]; in handle_lan_get_msg_cmd()
3953 recv_msg->msg.data = recv_msg->msg_data; in handle_lan_get_msg_cmd()
3959 recv_msg->msg.data_len = msg->rsp_size - 12; in handle_lan_get_msg_cmd()
3960 memcpy(recv_msg->msg_data, &msg->rsp[11], in handle_lan_get_msg_cmd()
3962 if (deliver_response(intf, recv_msg)) in handle_lan_get_msg_cmd()
3988 struct ipmi_recv_msg *recv_msg; in handle_oem_get_msg_cmd() local
4033 recv_msg = ipmi_alloc_recv_msg(); in handle_oem_get_msg_cmd()
4034 if (!recv_msg) { in handle_oem_get_msg_cmd()
4050 &recv_msg->addr); in handle_oem_get_msg_cmd()
4055 recv_msg->user = user; in handle_oem_get_msg_cmd()
4056 recv_msg->user_msg_data = NULL; in handle_oem_get_msg_cmd()
4057 recv_msg->recv_type = IPMI_OEM_RECV_TYPE; in handle_oem_get_msg_cmd()
4058 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_oem_get_msg_cmd()
4059 recv_msg->msg.cmd = msg->rsp[1]; in handle_oem_get_msg_cmd()
4060 recv_msg->msg.data = recv_msg->msg_data; in handle_oem_get_msg_cmd()
4066 recv_msg->msg.data_len = msg->rsp_size - 4; in handle_oem_get_msg_cmd()
4067 memcpy(recv_msg->msg_data, &msg->rsp[4], in handle_oem_get_msg_cmd()
4069 if (deliver_response(intf, recv_msg)) in handle_oem_get_msg_cmd()
4079 static void copy_event_into_recv_msg(struct ipmi_recv_msg *recv_msg, in copy_event_into_recv_msg() argument
4084 recv_msg->msgid = 0; in copy_event_into_recv_msg()
4085 smi_addr = (struct ipmi_system_interface_addr *) &recv_msg->addr; in copy_event_into_recv_msg()
4089 recv_msg->recv_type = IPMI_ASYNC_EVENT_RECV_TYPE; in copy_event_into_recv_msg()
4090 recv_msg->msg.netfn = msg->rsp[0] >> 2; in copy_event_into_recv_msg()
4091 recv_msg->msg.cmd = msg->rsp[1]; in copy_event_into_recv_msg()
4092 memcpy(recv_msg->msg_data, &msg->rsp[3], msg->rsp_size - 3); in copy_event_into_recv_msg()
4093 recv_msg->msg.data = recv_msg->msg_data; in copy_event_into_recv_msg()
4094 recv_msg->msg.data_len = msg->rsp_size - 3; in copy_event_into_recv_msg()
4100 struct ipmi_recv_msg *recv_msg, *recv_msg2; in handle_read_event_rsp() local
4132 recv_msg = ipmi_alloc_recv_msg(); in handle_read_event_rsp()
4133 if (!recv_msg) { in handle_read_event_rsp()
4135 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs, in handle_read_event_rsp()
4137 list_del(&recv_msg->link); in handle_read_event_rsp()
4138 ipmi_free_recv_msg(recv_msg); in handle_read_event_rsp()
4151 copy_event_into_recv_msg(recv_msg, msg); in handle_read_event_rsp()
4152 recv_msg->user = user; in handle_read_event_rsp()
4154 list_add_tail(&recv_msg->link, &msgs); in handle_read_event_rsp()
4160 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs, link) { in handle_read_event_rsp()
4161 list_del(&recv_msg->link); in handle_read_event_rsp()
4162 deliver_local_response(intf, recv_msg); in handle_read_event_rsp()
4169 recv_msg = ipmi_alloc_recv_msg(); in handle_read_event_rsp()
4170 if (!recv_msg) { in handle_read_event_rsp()
4180 copy_event_into_recv_msg(recv_msg, msg); in handle_read_event_rsp()
4181 list_add_tail(&recv_msg->link, &intf->waiting_events); in handle_read_event_rsp()
4202 struct ipmi_recv_msg *recv_msg; in handle_bmc_rsp() local
4205 recv_msg = (struct ipmi_recv_msg *) msg->user_data; in handle_bmc_rsp()
4206 if (recv_msg == NULL) { in handle_bmc_rsp()
4212 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_bmc_rsp()
4213 recv_msg->msgid = msg->msgid; in handle_bmc_rsp()
4215 &recv_msg->addr); in handle_bmc_rsp()
4219 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_bmc_rsp()
4220 recv_msg->msg.cmd = msg->rsp[1]; in handle_bmc_rsp()
4221 memcpy(recv_msg->msg_data, &msg->rsp[2], msg->rsp_size - 2); in handle_bmc_rsp()
4222 recv_msg->msg.data = recv_msg->msg_data; in handle_bmc_rsp()
4223 recv_msg->msg.data_len = msg->rsp_size - 2; in handle_bmc_rsp()
4224 deliver_local_response(intf, recv_msg); in handle_bmc_rsp()
4323 struct ipmi_recv_msg *recv_msg = msg->user_data; in handle_one_recv_msg() local
4335 if (!recv_msg) in handle_one_recv_msg()
4338 recv_msg->recv_type = IPMI_RESPONSE_RESPONSE_TYPE; in handle_one_recv_msg()
4339 recv_msg->msg.data = recv_msg->msg_data; in handle_one_recv_msg()
4340 recv_msg->msg.data_len = 1; in handle_one_recv_msg()
4341 recv_msg->msg_data[0] = msg->rsp[2]; in handle_one_recv_msg()
4342 deliver_local_response(intf, recv_msg); in handle_one_recv_msg()
4584 smi_from_recv_msg(struct ipmi_smi *intf, struct ipmi_recv_msg *recv_msg, in smi_from_recv_msg() argument
4595 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len); in smi_from_recv_msg()
4596 smi_msg->data_size = recv_msg->msg.data_len; in smi_from_recv_msg()
4628 msg = ent->recv_msg; in check_msg_timeout()
4632 else if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
4648 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot, in check_msg_timeout()
4651 if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
4670 if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
4874 struct ipmi_recv_msg recv_msg; in ipmi_panic_request_and_wait() local
4878 recv_msg.done = dummy_recv_done_handler; in ipmi_panic_request_and_wait()
4887 &recv_msg, in ipmi_panic_request_and_wait()