Lines Matching defs:msg
74 u8 *msg = iidev->rcvmsg;
85 netfn = msg[1] >> 2;
92 if (ipmb_checksum(msg, 3) != 0)
94 if (ipmb_checksum(msg + 3, iidev->rcvlen - 3) != 0)
103 u8 *msg = iidev->rcvmsg;
112 is_cmd = ((msg[1] >> 2) & 1) == 0;
128 u8 seq = msg[4] >> 2;
151 imsg->rsp[0] = msg[1]; /* NetFn/LUN */
156 memcpy(imsg->rsp + 1, msg + 3, iidev->rcvlen - 4);
159 imsg->rsp[0] = msg[1]; /* NetFn/LUN */
164 memcpy(imsg->rsp + 1, msg + 5, iidev->rcvlen - 6);
217 struct ipmi_smi_msg *msg, u8 cc)
219 if ((msg->data[0] >> 2) & 1) {
222 * response to the response. Fake a send msg command
226 msg->data[0] = (IPMI_NETFN_APP_REQUEST | 1) << 2;
227 msg->data[3] = IPMI_SEND_MSG_CMD;
228 msg->data[4] = cc;
229 msg->data_size = 5;
231 msg->rsp[0] = msg->data[0] | (1 << 2);
232 if (msg->type == IPMI_SMI_MSG_TYPE_IPMB_DIRECT) {
233 msg->rsp[1] = msg->data[1];
234 msg->rsp[2] = msg->data[2];
235 msg->rsp[3] = msg->data[3];
236 msg->rsp[4] = cc;
237 msg->rsp_size = 5;
239 msg->rsp[1] = msg->data[1];
240 msg->rsp[2] = cc;
241 msg->rsp_size = 3;
243 ipmi_smi_msg_received(iidev->intf, msg);
247 struct ipmi_smi_msg *msg)
249 if (msg->type == IPMI_SMI_MSG_TYPE_IPMB_DIRECT) {
250 iidev->xmitmsg[0] = msg->data[1];
251 iidev->xmitmsg[1] = msg->data[0];
252 memcpy(iidev->xmitmsg + 4, msg->data + 2, msg->data_size - 2);
253 iidev->xmitlen = msg->data_size + 2;
256 iidev->xmitmsg[1] = msg->data[0];
258 memcpy(iidev->xmitmsg + 5, msg->data + 1, msg->data_size - 1);
259 iidev->xmitlen = msg->data_size + 4;
262 if (((msg->data[0] >> 2) & 1) == 0)
281 struct ipmi_smi_msg *msg = NULL;
294 msg = iidev->next_msg;
298 if (!msg)
301 ipmi_ipmb_format_for_xmit(iidev, msg);
306 ipmi_ipmb_send_response(iidev, msg,
316 iidev->working_msg = msg;
320 if ((msg->data[0] >> 2) & 1) {
327 ipmi_ipmb_send_response(iidev, msg,
333 ipmi_ipmb_send_response(iidev, msg, IPMI_BUS_ERR);
346 msg = iidev->working_msg;
350 if (!msg && ret) {
359 } else if (msg && ++retries <= iidev->max_retries) {
361 iidev->working_msg = msg;
366 if (msg)
367 ipmi_ipmb_send_response(iidev, msg, IPMI_TIMEOUT_ERR);
408 struct ipmi_smi_msg *msg)
416 iidev->next_msg = msg;