Lines Matching defs:recv_msg
134 struct ipmi_recv_msg *recv_msg;
512 && (intf->seq_table[i].recv_msg))
513 ipmi_free_recv_msg(intf->seq_table[i].recv_msg);
735 struct ipmi_recv_msg *recv_msg,
752 intf->seq_table[i].recv_msg = recv_msg;
787 struct ipmi_recv_msg **recv_msg)
797 struct ipmi_recv_msg *msg = intf->seq_table[seq].recv_msg;
802 *recv_msg = msg;
865 msg = ent->recv_msg;
995 && (intf->seq_table[i].recv_msg->user == user)) {
997 ipmi_free_recv_msg(intf->seq_table[i].recv_msg);
1422 struct ipmi_recv_msg *recv_msg;
1428 recv_msg = supplied_recv;
1430 recv_msg = ipmi_alloc_recv_msg();
1431 if (recv_msg == NULL)
1434 recv_msg->user_msg_data = user_msg_data;
1441 ipmi_free_recv_msg(recv_msg);
1453 recv_msg->user = user;
1456 recv_msg->msgid = msgid;
1461 recv_msg->msg = *msg;
1479 memcpy(&recv_msg->addr, smi_addr, sizeof(*smi_addr));
1519 smi_msg->user_data = recv_msg;
1581 memcpy(&recv_msg->addr, ipmb_addr, sizeof(*ipmb_addr));
1583 if (recv_msg->msg.netfn & 0x1) {
1597 smi_msg->user_data = recv_msg;
1608 recv_msg,
1640 memcpy(recv_msg->msg_data, smi_msg->data,
1642 recv_msg->msg.data = recv_msg->msg_data;
1643 recv_msg->msg.data_len = smi_msg->data_size;
1648 * recv_msg before we release the lock.
1695 memcpy(&recv_msg->addr, lan_addr, sizeof(*lan_addr));
1697 if (recv_msg->msg.netfn & 0x1) {
1710 smi_msg->user_data = recv_msg;
1721 recv_msg,
1752 memcpy(recv_msg->msg_data, smi_msg->data,
1754 recv_msg->msg.data = recv_msg->msg_data;
1755 recv_msg->msg.data_len = smi_msg->data_size;
1760 * recv_msg before we release the lock.
1791 ipmi_free_recv_msg(recv_msg);
2915 deliver_err_response(ent->recv_msg, IPMI_ERR_UNSPECIFIED);
2955 struct ipmi_recv_msg *recv_msg;
2987 &recv_msg)) {
2996 memcpy(recv_msg->msg_data,
3004 recv_msg->msg.netfn = msg->rsp[4] >> 2;
3005 recv_msg->msg.data = recv_msg->msg_data;
3006 recv_msg->msg.data_len = msg->rsp_size - 10;
3007 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE;
3009 deliver_response(recv_msg);
3024 struct ipmi_recv_msg *recv_msg;
3094 recv_msg = ipmi_alloc_recv_msg();
3095 if (!recv_msg) {
3105 ipmb_addr = (struct ipmi_ipmb_addr *) &recv_msg->addr;
3115 recv_msg->user = user;
3116 recv_msg->recv_type = IPMI_CMD_RECV_TYPE;
3117 recv_msg->msgid = msg->rsp[7] >> 2;
3118 recv_msg->msg.netfn = msg->rsp[4] >> 2;
3119 recv_msg->msg.cmd = msg->rsp[8];
3120 recv_msg->msg.data = recv_msg->msg_data;
3126 recv_msg->msg.data_len = msg->rsp_size - 10;
3127 memcpy(recv_msg->msg_data,
3130 deliver_response(recv_msg);
3141 struct ipmi_recv_msg *recv_msg;
3177 &recv_msg)) {
3186 memcpy(recv_msg->msg_data,
3194 recv_msg->msg.netfn = msg->rsp[6] >> 2;
3195 recv_msg->msg.data = recv_msg->msg_data;
3196 recv_msg->msg.data_len = msg->rsp_size - 12;
3197 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE;
3199 deliver_response(recv_msg);
3214 struct ipmi_recv_msg *recv_msg;
3253 recv_msg = ipmi_alloc_recv_msg();
3254 if (!recv_msg) {
3263 lan_addr = (struct ipmi_lan_addr *) &recv_msg->addr;
3276 recv_msg->user = user;
3277 recv_msg->recv_type = IPMI_CMD_RECV_TYPE;
3278 recv_msg->msgid = msg->rsp[9] >> 2;
3279 recv_msg->msg.netfn = msg->rsp[6] >> 2;
3280 recv_msg->msg.cmd = msg->rsp[10];
3281 recv_msg->msg.data = recv_msg->msg_data;
3287 recv_msg->msg.data_len = msg->rsp_size - 12;
3288 memcpy(recv_msg->msg_data,
3291 deliver_response(recv_msg);
3314 struct ipmi_recv_msg *recv_msg;
3362 recv_msg = ipmi_alloc_recv_msg();
3363 if (!recv_msg) {
3379 &(recv_msg->addr));
3384 recv_msg->user = user;
3385 recv_msg->user_msg_data = NULL;
3386 recv_msg->recv_type = IPMI_OEM_RECV_TYPE;
3387 recv_msg->msg.netfn = msg->rsp[0] >> 2;
3388 recv_msg->msg.cmd = msg->rsp[1];
3389 recv_msg->msg.data = recv_msg->msg_data;
3395 recv_msg->msg.data_len = msg->rsp_size - 4;
3396 memcpy(recv_msg->msg_data,
3399 deliver_response(recv_msg);
3406 static void copy_event_into_recv_msg(struct ipmi_recv_msg *recv_msg,
3411 recv_msg->msgid = 0;
3412 smi_addr = (struct ipmi_system_interface_addr *) &(recv_msg->addr);
3416 recv_msg->recv_type = IPMI_ASYNC_EVENT_RECV_TYPE;
3417 recv_msg->msg.netfn = msg->rsp[0] >> 2;
3418 recv_msg->msg.cmd = msg->rsp[1];
3419 memcpy(recv_msg->msg_data, &(msg->rsp[3]), msg->rsp_size - 3);
3420 recv_msg->msg.data = recv_msg->msg_data;
3421 recv_msg->msg.data_len = msg->rsp_size - 3;
3427 struct ipmi_recv_msg *recv_msg, *recv_msg2;
3460 recv_msg = ipmi_alloc_recv_msg();
3461 if (!recv_msg) {
3463 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs,
3465 list_del(&recv_msg->link);
3466 ipmi_free_recv_msg(recv_msg);
3479 copy_event_into_recv_msg(recv_msg, msg);
3480 recv_msg->user = user;
3482 list_add_tail(&(recv_msg->link), &msgs);
3488 list_for_each_entry_safe(recv_msg, recv_msg2, &msgs, link) {
3489 list_del(&recv_msg->link);
3490 deliver_response(recv_msg);
3497 recv_msg = ipmi_alloc_recv_msg();
3498 if (!recv_msg) {
3508 copy_event_into_recv_msg(recv_msg, msg);
3509 list_add_tail(&(recv_msg->link), &(intf->waiting_events));
3530 struct ipmi_recv_msg *recv_msg;
3533 recv_msg = (struct ipmi_recv_msg *) msg->user_data;
3534 if (recv_msg == NULL) {
3543 user = recv_msg->user;
3548 ipmi_free_recv_msg(recv_msg);
3553 recv_msg->recv_type = IPMI_RESPONSE_RECV_TYPE;
3554 recv_msg->msgid = msg->msgid;
3556 &(recv_msg->addr));
3560 recv_msg->msg.netfn = msg->rsp[0] >> 2;
3561 recv_msg->msg.cmd = msg->rsp[1];
3562 memcpy(recv_msg->msg_data,
3565 recv_msg->msg.data = recv_msg->msg_data;
3566 recv_msg->msg.data_len = msg->rsp_size - 2;
3567 deliver_response(recv_msg);
3627 struct ipmi_recv_msg *recv_msg = msg->user_data;
3639 if (!recv_msg)
3643 if (!recv_msg->user || !recv_msg->user->valid)
3646 recv_msg->recv_type = IPMI_RESPONSE_RESPONSE_TYPE;
3647 recv_msg->msg.data = recv_msg->msg_data;
3648 recv_msg->msg.data_len = 1;
3649 recv_msg->msg_data[0] = msg->rsp[2];
3650 deliver_response(recv_msg);
3841 smi_from_recv_msg(ipmi_smi_t intf, struct ipmi_recv_msg *recv_msg,
3852 memcpy(smi_msg->data, recv_msg->msg.data, recv_msg->msg.data_len);
3853 smi_msg->data_size = recv_msg->msg.data_len;
3888 msg = ent->recv_msg;
3892 else if (is_lan_addr(&ent->recv_msg->addr))
3906 smi_msg = smi_from_recv_msg(intf, ent->recv_msg, slot,
3909 if (is_lan_addr(&ent->recv_msg->addr))
3929 if (is_lan_addr(&ent->recv_msg->addr))
4169 struct ipmi_recv_msg recv_msg;
4198 recv_msg.done = dummy_recv_done_handler;
4216 &recv_msg,
4275 &recv_msg,
4295 &recv_msg,
4363 &recv_msg,