Lines Matching refs:recv_msg

266 	struct ipmi_recv_msg *recv_msg;  member
726 && (intf->seq_table[i].recv_msg)) in clean_up_interface_data()
727 ipmi_free_recv_msg(intf->seq_table[i].recv_msg); in clean_up_interface_data()
1045 struct ipmi_recv_msg *recv_msg, in intf_next_seq() argument
1067 intf->seq_table[i].recv_msg = recv_msg; in intf_next_seq()
1104 struct ipmi_recv_msg **recv_msg) in intf_find_seq() argument
1114 struct ipmi_recv_msg *msg = intf->seq_table[seq].recv_msg; in intf_find_seq()
1119 *recv_msg = msg; in intf_find_seq()
1184 msg = ent->recv_msg; in intf_err_seq()
1364 && (intf->seq_table[i].recv_msg->user == user)) { in _ipmi_destroy_user()
1367 ipmi_free_recv_msg(intf->seq_table[i].recv_msg); in _ipmi_destroy_user()
1912 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_sysintf() argument
1928 memcpy(&recv_msg->addr, smi_addr, sizeof(*smi_addr)); in i_ipmi_req_sysintf()
1965 smi_msg->user_data = recv_msg; in i_ipmi_req_sysintf()
1979 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_ipmb() argument
2030 memcpy(&recv_msg->addr, ipmb_addr, sizeof(*ipmb_addr)); in i_ipmi_req_ipmb()
2032 if (recv_msg->msg.netfn & 0x1) { in i_ipmi_req_ipmb()
2046 smi_msg->user_data = recv_msg; in i_ipmi_req_ipmb()
2066 recv_msg, in i_ipmi_req_ipmb()
2095 memcpy(recv_msg->msg_data, smi_msg->data, in i_ipmi_req_ipmb()
2097 recv_msg->msg.data = recv_msg->msg_data; in i_ipmi_req_ipmb()
2098 recv_msg->msg.data_len = smi_msg->data_size; in i_ipmi_req_ipmb()
2120 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_ipmb_direct() argument
2124 bool is_cmd = !(recv_msg->msg.netfn & 0x1); in i_ipmi_req_ipmb_direct()
2151 smi_msg->data[2] = recv_msg->msgid << 2 | daddr->rq_lun; in i_ipmi_req_ipmb_direct()
2154 smi_msg->data[2] = recv_msg->msgid << 2 | daddr->rs_lun; in i_ipmi_req_ipmb_direct()
2162 smi_msg->user_data = recv_msg; in i_ipmi_req_ipmb_direct()
2172 struct ipmi_recv_msg *recv_msg, in i_ipmi_req_lan() argument
2210 memcpy(&recv_msg->addr, lan_addr, sizeof(*lan_addr)); in i_ipmi_req_lan()
2212 if (recv_msg->msg.netfn & 0x1) { in i_ipmi_req_lan()
2225 smi_msg->user_data = recv_msg; in i_ipmi_req_lan()
2237 recv_msg, in i_ipmi_req_lan()
2265 memcpy(recv_msg->msg_data, smi_msg->data, in i_ipmi_req_lan()
2267 recv_msg->msg.data = recv_msg->msg_data; in i_ipmi_req_lan()
2268 recv_msg->msg.data_len = smi_msg->data_size; in i_ipmi_req_lan()
2306 struct ipmi_recv_msg *recv_msg; in i_ipmi_request() local
2318 recv_msg = supplied_recv; in i_ipmi_request()
2320 recv_msg = ipmi_alloc_recv_msg(); in i_ipmi_request()
2321 if (recv_msg == NULL) { in i_ipmi_request()
2326 recv_msg->user_msg_data = user_msg_data; in i_ipmi_request()
2334 ipmi_free_recv_msg(recv_msg); in i_ipmi_request()
2346 recv_msg->user = user; in i_ipmi_request()
2350 recv_msg->msgid = msgid; in i_ipmi_request()
2355 recv_msg->msg = *msg; in i_ipmi_request()
2359 recv_msg, retries, retry_time_ms); in i_ipmi_request()
2361 rv = i_ipmi_req_ipmb(intf, addr, msgid, msg, smi_msg, recv_msg, in i_ipmi_request()
2366 recv_msg, source_lun); in i_ipmi_request()
2368 rv = i_ipmi_req_lan(intf, addr, msgid, msg, smi_msg, recv_msg, in i_ipmi_request()
2379 ipmi_free_recv_msg(recv_msg); in i_ipmi_request()
3751 deliver_err_response(intf, ent->recv_msg, IPMI_ERR_UNSPECIFIED); in cleanup_smi_msgs()
3810 struct ipmi_recv_msg *recv_msg; in handle_ipmb_get_msg_rsp() local
3842 &recv_msg)) { in handle_ipmb_get_msg_rsp()
3851 memcpy(recv_msg->msg_data, &msg->rsp[9], msg->rsp_size - 9); in handle_ipmb_get_msg_rsp()
3857 recv_msg->msg.netfn = msg->rsp[4] >> 2; in handle_ipmb_get_msg_rsp()
3858 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_get_msg_rsp()
3859 recv_msg->msg.data_len = msg->rsp_size - 10; in handle_ipmb_get_msg_rsp()
3860 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_ipmb_get_msg_rsp()
3861 if (deliver_response(intf, recv_msg)) in handle_ipmb_get_msg_rsp()
3879 struct ipmi_recv_msg *recv_msg; in handle_ipmb_get_msg_cmd() local
3938 recv_msg = ipmi_alloc_recv_msg(); in handle_ipmb_get_msg_cmd()
3939 if (!recv_msg) { in handle_ipmb_get_msg_cmd()
3949 ipmb_addr = (struct ipmi_ipmb_addr *) &recv_msg->addr; in handle_ipmb_get_msg_cmd()
3959 recv_msg->user = user; in handle_ipmb_get_msg_cmd()
3960 recv_msg->recv_type = IPMI_CMD_RECV_TYPE; in handle_ipmb_get_msg_cmd()
3961 recv_msg->msgid = msg->rsp[7] >> 2; in handle_ipmb_get_msg_cmd()
3962 recv_msg->msg.netfn = msg->rsp[4] >> 2; in handle_ipmb_get_msg_cmd()
3963 recv_msg->msg.cmd = msg->rsp[8]; in handle_ipmb_get_msg_cmd()
3964 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_get_msg_cmd()
3970 recv_msg->msg.data_len = msg->rsp_size - 10; in handle_ipmb_get_msg_cmd()
3971 memcpy(recv_msg->msg_data, &msg->rsp[9], in handle_ipmb_get_msg_cmd()
3973 if (deliver_response(intf, recv_msg)) in handle_ipmb_get_msg_cmd()
3990 struct ipmi_recv_msg *recv_msg; in handle_ipmb_direct_rcv_cmd() local
4029 recv_msg = ipmi_alloc_recv_msg(); in handle_ipmb_direct_rcv_cmd()
4030 if (!recv_msg) { in handle_ipmb_direct_rcv_cmd()
4040 daddr = (struct ipmi_ipmb_direct_addr *)&recv_msg->addr; in handle_ipmb_direct_rcv_cmd()
4051 recv_msg->user = user; in handle_ipmb_direct_rcv_cmd()
4052 recv_msg->recv_type = IPMI_CMD_RECV_TYPE; in handle_ipmb_direct_rcv_cmd()
4053 recv_msg->msgid = (msg->rsp[2] >> 2); in handle_ipmb_direct_rcv_cmd()
4054 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_ipmb_direct_rcv_cmd()
4055 recv_msg->msg.cmd = msg->rsp[3]; in handle_ipmb_direct_rcv_cmd()
4056 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_direct_rcv_cmd()
4058 recv_msg->msg.data_len = msg->rsp_size - 4; in handle_ipmb_direct_rcv_cmd()
4059 memcpy(recv_msg->msg_data, msg->rsp + 4, in handle_ipmb_direct_rcv_cmd()
4061 if (deliver_response(intf, recv_msg)) in handle_ipmb_direct_rcv_cmd()
4074 struct ipmi_recv_msg *recv_msg; in handle_ipmb_direct_rcv_rsp() local
4077 recv_msg = msg->user_data; in handle_ipmb_direct_rcv_rsp()
4078 if (recv_msg == NULL) { in handle_ipmb_direct_rcv_rsp()
4084 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_ipmb_direct_rcv_rsp()
4085 recv_msg->msgid = msg->msgid; in handle_ipmb_direct_rcv_rsp()
4086 daddr = (struct ipmi_ipmb_direct_addr *) &recv_msg->addr; in handle_ipmb_direct_rcv_rsp()
4092 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_ipmb_direct_rcv_rsp()
4093 recv_msg->msg.cmd = msg->rsp[3]; in handle_ipmb_direct_rcv_rsp()
4094 memcpy(recv_msg->msg_data, &msg->rsp[4], msg->rsp_size - 4); in handle_ipmb_direct_rcv_rsp()
4095 recv_msg->msg.data = recv_msg->msg_data; in handle_ipmb_direct_rcv_rsp()
4096 recv_msg->msg.data_len = msg->rsp_size - 4; in handle_ipmb_direct_rcv_rsp()
4097 deliver_local_response(intf, recv_msg); in handle_ipmb_direct_rcv_rsp()
4106 struct ipmi_recv_msg *recv_msg; in handle_lan_get_msg_rsp() local
4142 &recv_msg)) { in handle_lan_get_msg_rsp()
4151 memcpy(recv_msg->msg_data, &msg->rsp[11], msg->rsp_size - 11); in handle_lan_get_msg_rsp()
4157 recv_msg->msg.netfn = msg->rsp[6] >> 2; in handle_lan_get_msg_rsp()
4158 recv_msg->msg.data = recv_msg->msg_data; in handle_lan_get_msg_rsp()
4159 recv_msg->msg.data_len = msg->rsp_size - 12; in handle_lan_get_msg_rsp()
4160 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_lan_get_msg_rsp()
4161 if (deliver_response(intf, recv_msg)) in handle_lan_get_msg_rsp()
4179 struct ipmi_recv_msg *recv_msg; in handle_lan_get_msg_cmd() local
4215 recv_msg = ipmi_alloc_recv_msg(); in handle_lan_get_msg_cmd()
4216 if (!recv_msg) { in handle_lan_get_msg_cmd()
4225 lan_addr = (struct ipmi_lan_addr *) &recv_msg->addr; in handle_lan_get_msg_cmd()
4238 recv_msg->user = user; in handle_lan_get_msg_cmd()
4239 recv_msg->recv_type = IPMI_CMD_RECV_TYPE; in handle_lan_get_msg_cmd()
4240 recv_msg->msgid = msg->rsp[9] >> 2; in handle_lan_get_msg_cmd()
4241 recv_msg->msg.netfn = msg->rsp[6] >> 2; in handle_lan_get_msg_cmd()
4242 recv_msg->msg.cmd = msg->rsp[10]; in handle_lan_get_msg_cmd()
4243 recv_msg->msg.data = recv_msg->msg_data; in handle_lan_get_msg_cmd()
4249 recv_msg->msg.data_len = msg->rsp_size - 12; in handle_lan_get_msg_cmd()
4250 memcpy(recv_msg->msg_data, &msg->rsp[11], in handle_lan_get_msg_cmd()
4252 if (deliver_response(intf, recv_msg)) in handle_lan_get_msg_cmd()
4278 struct ipmi_recv_msg *recv_msg; in handle_oem_get_msg_cmd() local
4323 recv_msg = ipmi_alloc_recv_msg(); in handle_oem_get_msg_cmd()
4324 if (!recv_msg) { in handle_oem_get_msg_cmd()
4340 &recv_msg->addr); in handle_oem_get_msg_cmd()
4345 recv_msg->user = user; in handle_oem_get_msg_cmd()
4346 recv_msg->user_msg_data = NULL; in handle_oem_get_msg_cmd()
4347 recv_msg->recv_type = IPMI_OEM_RECV_TYPE; in handle_oem_get_msg_cmd()
4348 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_oem_get_msg_cmd()
4349 recv_msg->msg.cmd = msg->rsp[1]; in handle_oem_get_msg_cmd()
4350 recv_msg->msg.data = recv_msg->msg_data; in handle_oem_get_msg_cmd()
4356 recv_msg->msg.data_len = msg->rsp_size - 4; in handle_oem_get_msg_cmd()
4357 memcpy(recv_msg->msg_data, &msg->rsp[4], in handle_oem_get_msg_cmd()
4359 if (deliver_response(intf, recv_msg)) in handle_oem_get_msg_cmd()
4369 static void copy_event_into_recv_msg(struct ipmi_recv_msg *recv_msg, in copy_event_into_recv_msg() argument
4374 recv_msg->msgid = 0; in copy_event_into_recv_msg()
4375 smi_addr = (struct ipmi_system_interface_addr *) &recv_msg->addr; in copy_event_into_recv_msg()
4379 recv_msg->recv_type = IPMI_ASYNC_EVENT_RECV_TYPE; in copy_event_into_recv_msg()
4380 recv_msg->msg.netfn = msg->rsp[0] >> 2; in copy_event_into_recv_msg()
4381 recv_msg->msg.cmd = msg->rsp[1]; in copy_event_into_recv_msg()
4382 memcpy(recv_msg->msg_data, &msg->rsp[3], msg->rsp_size - 3); in copy_event_into_recv_msg()
4383 recv_msg->msg.data = recv_msg->msg_data; in copy_event_into_recv_msg()
4384 recv_msg->msg.data_len = msg->rsp_size - 3; in copy_event_into_recv_msg()
4390 struct ipmi_recv_msg *recv_msg, *recv_msg2; in handle_read_event_rsp() local
4422 recv_msg = ipmi_alloc_recv_msg(); in handle_read_event_rsp()
4423 if (!recv_msg) { in handle_read_event_rsp()
4425 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs, in handle_read_event_rsp()
4427 list_del(&recv_msg->link); in handle_read_event_rsp()
4428 ipmi_free_recv_msg(recv_msg); in handle_read_event_rsp()
4441 copy_event_into_recv_msg(recv_msg, msg); in handle_read_event_rsp()
4442 recv_msg->user = user; in handle_read_event_rsp()
4444 list_add_tail(&recv_msg->link, &msgs); in handle_read_event_rsp()
4450 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs, link) { in handle_read_event_rsp()
4451 list_del(&recv_msg->link); in handle_read_event_rsp()
4452 deliver_local_response(intf, recv_msg); in handle_read_event_rsp()
4459 recv_msg = ipmi_alloc_recv_msg(); in handle_read_event_rsp()
4460 if (!recv_msg) { in handle_read_event_rsp()
4470 copy_event_into_recv_msg(recv_msg, msg); in handle_read_event_rsp()
4471 list_add_tail(&recv_msg->link, &intf->waiting_events); in handle_read_event_rsp()
4492 struct ipmi_recv_msg *recv_msg; in handle_bmc_rsp() local
4495 recv_msg = msg->user_data; in handle_bmc_rsp()
4496 if (recv_msg == NULL) { in handle_bmc_rsp()
4502 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE; in handle_bmc_rsp()
4503 recv_msg->msgid = msg->msgid; in handle_bmc_rsp()
4505 &recv_msg->addr); in handle_bmc_rsp()
4509 recv_msg->msg.netfn = msg->rsp[0] >> 2; in handle_bmc_rsp()
4510 recv_msg->msg.cmd = msg->rsp[1]; in handle_bmc_rsp()
4511 memcpy(recv_msg->msg_data, &msg->rsp[2], msg->rsp_size - 2); in handle_bmc_rsp()
4512 recv_msg->msg.data = recv_msg->msg_data; in handle_bmc_rsp()
4513 recv_msg->msg.data_len = msg->rsp_size - 2; in handle_bmc_rsp()
4514 deliver_local_response(intf, recv_msg); in handle_bmc_rsp()
4640 struct ipmi_recv_msg *recv_msg; in handle_one_recv_msg() local
4649 recv_msg = msg->user_data; in handle_one_recv_msg()
4652 if (!recv_msg) in handle_one_recv_msg()
4655 recv_msg->recv_type = IPMI_RESPONSE_RESPONSE_TYPE; in handle_one_recv_msg()
4656 recv_msg->msg.data = recv_msg->msg_data; in handle_one_recv_msg()
4657 recv_msg->msg_data[0] = cc; in handle_one_recv_msg()
4658 recv_msg->msg.data_len = 1; in handle_one_recv_msg()
4659 deliver_local_response(intf, recv_msg); in handle_one_recv_msg()
4901 smi_from_recv_msg(struct ipmi_smi *intf, struct ipmi_recv_msg *recv_msg, in smi_from_recv_msg() argument
4912 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len); in smi_from_recv_msg()
4913 smi_msg->data_size = recv_msg->msg.data_len; in smi_from_recv_msg()
4946 msg = ent->recv_msg; in check_msg_timeout()
4950 else if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
4966 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot, in check_msg_timeout()
4969 if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
4988 if (is_lan_addr(&ent->recv_msg->addr)) in check_msg_timeout()
5193 struct ipmi_recv_msg recv_msg; in ipmi_panic_request_and_wait() local
5197 recv_msg.done = dummy_recv_done_handler; in ipmi_panic_request_and_wait()
5206 &recv_msg, in ipmi_panic_request_and_wait()