[dpdk-dev] [PATCH] examples/power: fix ack for enable/disable turbo

David Hunt david.hunt at intel.com
Tue Feb 11 11:50:08 CET 2020


When a VM sends a command through virtio-serial to enable/disable
turbo, it is successfully enabled or disabled, yet the response to the
VM is NACK. This is because all the library frequency change APIs return
1 for success (change in frequency), 0 for success (no change in
frequency) and -1 for failure. However the turbo enable/disable APIs just
return 0 for success and -1 for failure.

Fix the handling of the return code to treat ">= 0" as success, and
send an ACK. Only send NACK when < 0 (failure).

Fixes: 0de94bcac7fc ("examples/vm_power: send confirmation cmd to guest")
Signed-off-by: David Hunt <david.hunt at intel.com>
---
 examples/vm_power_manager/channel_monitor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/vm_power_manager/channel_monitor.c b/examples/vm_power_manager/channel_monitor.c
index 090c2a98b..1d00a6cf6 100644
--- a/examples/vm_power_manager/channel_monitor.c
+++ b/examples/vm_power_manager/channel_monitor.c
@@ -868,7 +868,7 @@ process_request(struct channel_packet *pkt, struct channel_info *chan_info)
 		if (valid_unit) {
 			ret = send_ack_for_received_cmd(pkt,
 					chan_info,
-					scale_res > 0 ?
+					scale_res >= 0 ?
 						CPU_POWER_CMD_ACK :
 						CPU_POWER_CMD_NACK);
 			if (ret < 0)
-- 
2.17.1



More information about the dev mailing list