From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f46.google.com (mail-pa0-f46.google.com [209.85.220.46]) by dpdk.org (Postfix) with ESMTP id EE88029C7 for ; Fri, 1 Jul 2016 18:31:36 +0200 (CEST) Received: by mail-pa0-f46.google.com with SMTP id wo6so40223675pac.3 for ; Fri, 01 Jul 2016 09:31:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bigswitch-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=j/CP1I6sEN6u6cvoLtTZoqHWNtHURzwLMRxbmjdBSyM=; b=R02vAIMhBwUk398E5CU7sFcFP9ATF9lts3NtkbBV1h22ghMhcw/6CDR4GGt4q79A4U Oza/N+6yuBV8L6yOWhqlpDMSnEhCHsVUEoxpH5u8cTj+P3J2CErVcPrU4kJkUgCvzJHM VCi0dVO4F9MErK6lGxZTqyQccwt8XDYV+EhC35sD21eArx+5giY9MqneYC8iL+mG3D1l d3CMbWC3G9bNsCmw43cuklmCH8nxr/k35bjblMjJF/M7oZxLCyKAC1HVXYsvQakINCOr Ubdcxkmjz327h9a3UhyMackLoNelo2X3ZBvrAkYqny9Qi/oDb/xcGkCwBlVv5ZLRq5xV VyZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=j/CP1I6sEN6u6cvoLtTZoqHWNtHURzwLMRxbmjdBSyM=; b=V6bDaidoDut9rowjf8siPvAGo5MxXX9htbs9QhcC4TNHHNFuxZe37MDnWnZHut7yDi Filo+nbdJsTKtBpOz3SWuKqmNah1GhTB33SuEeM86pg6yPT1SOF5ucZavkf4uvNOpOdf QEfHoE1GMJ6o7laKZb6x3ABz0K0xR4nfNWP6qMpuVDDxWu41PJw6YNlYMdmZbHoKfaj6 4SRV/XaGedHFcRfCDl6jqmQqpzMUEyKsWe8Rlpiae+d5cO9oV/V9qgzgj6G0G07wzhkF QN89DojnczbZrKlkUDavtvuuRgZY9TBXOfnEvCewOgRNvfCShiPAuq6qDiwOK2LXzAMV lAuw== X-Gm-Message-State: ALyK8tLxc9W6ErNpxjAHC/csrb/YE2zBS2pd2ItnR8wVbg+TBSh2j0zp5GIwmmDs7jMIRSRe X-Received: by 10.66.190.138 with SMTP id gq10mr33378502pac.89.1467390695990; Fri, 01 Jul 2016 09:31:35 -0700 (PDT) Received: from rlane-work.eng.bigswitch.com (c-67-188-28-208.hsd1.ca.comcast.net. [67.188.28.208]) by smtp.gmail.com with ESMTPSA id b71sm6896315pfc.51.2016.07.01.09.31.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 01 Jul 2016 09:31:35 -0700 (PDT) From: Rich Lane To: dev@dpdk.org Cc: Tetsuya Mukawa , Yuanhan Liu Date: Fri, 1 Jul 2016 09:31:12 -0700 Message-Id: <1467390672-80701-1-git-send-email-rich.lane@bigswitch.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH] vhost: reset queue state in destroy_device X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2016 16:31:37 -0000 Fixes a bug where rte_eth_vhost_get_queue_event would not return enabled queues after a guest application restart. Fixes: ee584e9710b9 ("vhost: add driver on top of the library") Signed-off-by: Rich Lane --- drivers/net/vhost/rte_eth_vhost.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c index c5bbb87..33e9728 100644 --- a/drivers/net/vhost/rte_eth_vhost.c +++ b/drivers/net/vhost/rte_eth_vhost.c @@ -303,6 +303,7 @@ destroy_device(int vid) struct internal_list *list; char ifname[PATH_MAX]; unsigned i; + struct rte_vhost_vring_state *state; rte_vhost_get_ifname(vid, ifname, sizeof(ifname)); list = find_internal_resource(ifname); @@ -345,6 +346,15 @@ destroy_device(int vid) vq->vid = -1; } + state = vring_states[eth_dev->data->port_id]; + rte_spinlock_lock(&state->lock); + for (i = 0; i <= state->max_vring; i++) { + state->cur[i] = false; + state->seen[i] = false; + } + state->max_vring = 0; + rte_spinlock_unlock(&state->lock); + RTE_LOG(INFO, PMD, "Connection closed\n"); _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC); -- 1.9.1