|
@@ -891,6 +891,7 @@ static void msg_written_handler(struct ssif_info *ssif_info, int result,
|
|
|
* for details on the intricacies of this.
|
|
|
*/
|
|
|
int left;
|
|
|
+ unsigned char *data_to_send;
|
|
|
|
|
|
ssif_inc_stat(ssif_info, sent_messages_parts);
|
|
|
|
|
@@ -899,6 +900,7 @@ static void msg_written_handler(struct ssif_info *ssif_info, int result,
|
|
|
left = 32;
|
|
|
/* Length byte. */
|
|
|
ssif_info->multi_data[ssif_info->multi_pos] = left;
|
|
|
+ data_to_send = ssif_info->multi_data + ssif_info->multi_pos;
|
|
|
ssif_info->multi_pos += left;
|
|
|
if (left < 32)
|
|
|
/*
|
|
@@ -912,7 +914,7 @@ static void msg_written_handler(struct ssif_info *ssif_info, int result,
|
|
|
rv = ssif_i2c_send(ssif_info, msg_written_handler,
|
|
|
I2C_SMBUS_WRITE,
|
|
|
SSIF_IPMI_MULTI_PART_REQUEST_MIDDLE,
|
|
|
- ssif_info->multi_data + ssif_info->multi_pos,
|
|
|
+ data_to_send,
|
|
|
I2C_SMBUS_BLOCK_DATA);
|
|
|
if (rv < 0) {
|
|
|
/* request failed, just return the error. */
|