52
52
ipmi_msg_t *msg = &rspi->msg;
53
53
ipmi_ll_ipmb_addr_cb handler = rspi->data1;
54
54
void *cb_data = rspi->data2;
55
unsigned char ipmb = 0;
55
unsigned char ipmb[MAX_IPMI_USED_CHANNELS];
57
57
atca_conn_info_t *info;
61
handler(ipmi, ECANCELED, ipmb, 1, 0, cb_data);
61
handler(ipmi, ECANCELED, ipmb, 1, 1, 0, cb_data);
62
62
return IPMI_MSG_ITEM_NOT_USED;
65
65
info = ipmi->oem_data;
67
memset(ipmb, 0, sizeof(*ipmb));
67
69
if (msg->data[0] != 0)
68
70
err = IPMI_IPMI_ERR_VAL(msg->data[0]);
69
71
else if (msg->data_len < 4)
71
73
else if ((msg->data[7] == 3) && (!info->dont_use_floating_addr))
72
ipmb = 0x20; /* This is a Dedicated ShMC and we are not doing
73
dual-ShMC addressing. */
74
ipmb[0] = 0x20; /* This is a Dedicated ShMC and we are not doing
75
dual-ShMC addressing. */
77
ipmb[0] = msg->data[3];
77
79
/* Note that there is no "inactive" connection with ATCA. */
79
ipmi->set_ipmb_addr(ipmi, ipmb, 1, info->hacks);
81
ipmi->set_ipmb_addr(ipmi, ipmb, 1, 1, info->hacks);
82
handler(ipmi, err, ipmb, 1, info->hacks, cb_data);
84
handler(ipmi, err, ipmb, 1, 1, info->hacks, cb_data);
83
85
return IPMI_MSG_ITEM_NOT_USED;
133
135
ipmi_conn_oem_check_done done = rspi->data1;
134
136
void *cb_data = rspi->data2;
136
if (ipmi && (msg->data_len >= 8) && (msg->data[0] == 0)) {
138
if (ipmi && !ipmi->oem_data && (msg->data_len >= 8) && (msg->data[0] == 0))
137
140
atca_conn_info_t *info;
139
142
info = ipmi_mem_alloc(sizeof(*info));
232
rv = ipmi_register_oem_conn_handler(0x000157, 0x080b,
233
handle_intel_atca, NULL);
237
rv = ipmi_register_oem_conn_handler(0x000157, 0x080c,
238
handle_intel_atca, NULL);
232
248
ipmi_deregister_conn_oem_check(atca_oem_check, NULL);
233
249
ipmi_deregister_oem_conn_handler(0x000157, 0x0841);
250
ipmi_deregister_oem_conn_handler(0x000157, 0x080c);
251
ipmi_deregister_oem_conn_handler(0x000157, 0x080b);