From: Marcin Hajkowski <marcinx.hajkow...@intel.com>

Currently 0 is being used for not connected slot indication.
This is not consistent with linux doc which identifies 0 as valid
(connected) slot, thus modification was done to change it.

Fixes: cd0d5547 ("power: vm communication channels in guest")
Cc: sta...@dpdk.org

Signed-off-by: Marcin Hajkowski <marcinx.hajkow...@intel.com>
---
 lib/librte_power/guest_channel.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/librte_power/guest_channel.c b/lib/librte_power/guest_channel.c
index c17ea46b4..9cf7d2cb2 100644
--- a/lib/librte_power/guest_channel.c
+++ b/lib/librte_power/guest_channel.c
@@ -19,7 +19,7 @@
 
 #define RTE_LOGTYPE_GUEST_CHANNEL RTE_LOGTYPE_USER1
 
-static int global_fds[RTE_MAX_LCORE];
+static int global_fds[RTE_MAX_LCORE] = { [0 ... RTE_MAX_LCORE-1] = -1 };
 
 int
 guest_channel_host_connect(const char *path, unsigned int lcore_id)
@@ -35,7 +35,7 @@ guest_channel_host_connect(const char *path, unsigned int 
lcore_id)
                return -1;
        }
        /* check if path is already open */
-       if (global_fds[lcore_id] != 0) {
+       if (global_fds[lcore_id] != -1) {
                RTE_LOG(ERR, GUEST_CHANNEL, "Channel(%u) is already open with 
fd %d\n",
                                lcore_id, global_fds[lcore_id]);
                return -1;
@@ -84,7 +84,7 @@ guest_channel_host_connect(const char *path, unsigned int 
lcore_id)
        return 0;
 error:
        close(fd);
-       global_fds[lcore_id] = 0;
+       global_fds[lcore_id] = -1;
        return -1;
 }
 
@@ -100,7 +100,7 @@ guest_channel_send_msg(struct channel_packet *pkt, unsigned 
int lcore_id)
                return -1;
        }
 
-       if (global_fds[lcore_id] == 0) {
+       if (global_fds[lcore_id] < 0) {
                RTE_LOG(ERR, GUEST_CHANNEL, "Channel is not connected\n");
                return -1;
        }
@@ -134,8 +134,8 @@ guest_channel_host_disconnect(unsigned int lcore_id)
                                lcore_id, RTE_MAX_LCORE-1);
                return;
        }
-       if (global_fds[lcore_id] == 0)
+       if (global_fds[lcore_id] < 0)
                return;
        close(global_fds[lcore_id]);
-       global_fds[lcore_id] = 0;
+       global_fds[lcore_id] = -1;
 }
-- 
2.17.2

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.

Reply via email to