mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
Fix double bridge detection in get_max_(req|rsp)_data_size()
Signed-off-by: Patrick Huesmann <info@patrick-huesmann.de>
This commit is contained in:
parent
b7adc1dcaf
commit
7c47cf75f4
@ -508,7 +508,7 @@ ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf)
|
|||||||
/* check if request size is not specified */
|
/* check if request size is not specified */
|
||||||
if (!size) {
|
if (!size) {
|
||||||
/*
|
/*
|
||||||
* The IPMB standard overall message length for ‘non -bridging’
|
* The IPMB standard overall message length for non-bridging
|
||||||
* messages is specified as 32 bytes, maximum, including slave
|
* messages is specified as 32 bytes, maximum, including slave
|
||||||
* address. This sets the upper limit for typical IPMI messages.
|
* address. This sets the upper limit for typical IPMI messages.
|
||||||
* With the exception of messages used for bridging messages to
|
* With the exception of messages used for bridging messages to
|
||||||
@ -541,7 +541,8 @@ ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* check for double bridging */
|
/* check for double bridging */
|
||||||
if (intf->transit_addr && intf->transit_addr != intf->target_addr) {
|
if (intf->transit_addr &&
|
||||||
|
(intf->transit_addr != intf->target_addr || intf->transit_channel != intf->target_channel) {
|
||||||
/* subtract inner send message request size */
|
/* subtract inner send message request size */
|
||||||
size -= 8;
|
size -= 8;
|
||||||
}
|
}
|
||||||
@ -565,7 +566,7 @@ ipmi_intf_get_max_response_data_size(struct ipmi_intf * intf)
|
|||||||
/* check if response size is not specified */
|
/* check if response size is not specified */
|
||||||
if (!size) {
|
if (!size) {
|
||||||
/*
|
/*
|
||||||
* The IPMB standard overall message length for ‘non -bridging’
|
* The IPMB standard overall message length for non-bridging
|
||||||
* messages is specified as 32 bytes, maximum, including slave
|
* messages is specified as 32 bytes, maximum, including slave
|
||||||
* address. This sets the upper limit for typical IPMI messages.
|
* address. This sets the upper limit for typical IPMI messages.
|
||||||
* With the exception of messages used for bridging messages to
|
* With the exception of messages used for bridging messages to
|
||||||
@ -603,7 +604,8 @@ ipmi_intf_get_max_response_data_size(struct ipmi_intf * intf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* check for double bridging */
|
/* check for double bridging */
|
||||||
if (intf->transit_addr && intf->transit_addr != intf->target_addr) {
|
if (intf->transit_addr &&
|
||||||
|
(intf->transit_addr != intf->target_addr || intf->transit_channel != intf->target_channel) {
|
||||||
/* subtract inner send message header size */
|
/* subtract inner send message header size */
|
||||||
size -= 8;
|
size -= 8;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user