[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/3] Check controller enable status in PutRequest


  • To: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Fri, 7 Nov 2025 10:42:32 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d7a7EX7e1ayF2VBXCr3P+zBF8PjPwnHjzYYpiFuGysw=; b=kx4tSe3QyTkaNgJxley/V8Vj+MTyyimNt1Nb3OwERa8Ez2l7Wg3Ey9QJ981vrdH08mo6BVqcMsafmgOzDpa58/K4e1D+VXFGxrTVjQWN3k227E4YmcdYy89strapt19S58PZhkV4DqFrDKGSCR2x1k/bHioel+eii21S4qn8rPTMWQHYIpHgIjkfK0eUQ8D82gLEPEyOFog8AYZjgXN6T7LgOItuKmGQT28my+5kYkOSC9jow20oPV7bPYDisBfrQEKLUnKKAmga68ycDAU8nkgSWVvmPmUfbM+25NPQe42nntKDstrdS5AXjshFLCUD3yywv76PLBdXzTrwMQ94gw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rdDYLDn3TiLxSuiIqzD4QeiaZtl9HS54ACfnzAe31AXgN+Ay8Q2FUNAzt7QV2WYOtzjgCr6boZY1HfwJgd7oPqljGVkUbR7yLhW8E+yjcqKcOWWaMjPFdDwlAnpGVJZIwS0ACBJVwoy+loIgoiR/hfcYJ16JdQqtS0WnGw+oP+0MB9DEd+pbDXXf7Xop5C8eEY8lBlCdNCT9X1DfIM8CgFFFGUkvZhoBdR2YUuLdqcu4BcfaqVKpjzC052QHlbFyj1AkiBOsnrR4LWTfyuQsOJ8ohdRc1wxTG5WaS19l7wT8Z0D3Stt3qOGwerC0HRFD1O1kOv3IuFtBvZBp9lZ/nw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Fri, 07 Nov 2025 10:42:39 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Msip_labels:
  • Thread-index: AQHcTyhRhWZANU2EpkiXk97h/U2+HLTnCBvO
  • Thread-topic: [PATCH v2 3/3] Check controller enable status in PutRequest

Reviewed-by: Owen Smith <owen.smith@xxxxxxxxxx>

________________________________________
From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> on behalf of Tu 
Dinh <ngoc-tu.dinh@xxxxxxxxxx>
Sent: 06 November 2025 2:18 PM
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Tu Dinh
Subject: [PATCH v2 3/3] Check controller enable status in PutRequest

Add a Controller->Enabled flag to signify whether the controller
currently accepts requests.

Check this flag in ControllerPutRequest instead of Controller->Connected.

Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
 src/xenvif/controller.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/xenvif/controller.c b/src/xenvif/controller.c
index 6a091d6..ca854ef 100644
--- a/src/xenvif/controller.c
+++ b/src/xenvif/controller.c
@@ -72,6 +72,7 @@ struct _XENVIF_CONTROLLER {
     PXENBUS_EVTCHN_CHANNEL              Channel;
     ULONG                               Events;
     BOOLEAN                             Connected;
+    BOOLEAN                             Enabled;
     USHORT                              RequestId;
     struct xen_netif_ctrl_request       Request;
     struct xen_netif_ctrl_response      Response;
@@ -194,7 +195,7 @@ ControllerPutRequest(
     NTSTATUS                        status;

     status = STATUS_NOT_SUPPORTED;
-    if (!Controller->Connected)
+    if (!Controller->Enabled)
         goto fail1;

     status = STATUS_INSUFFICIENT_RESOURCES;
@@ -688,7 +689,11 @@ ControllerEnable(
     IN  PXENVIF_CONTROLLER      Controller
     )
 {
-    UNREFERENCED_PARAMETER(Controller);
+    __ControllerAcquireLock(Controller);
+
+    Controller->Enabled = TRUE;
+
+    __ControllerReleaseLock(Controller);

     Trace("<===>\n");
 }
@@ -698,7 +703,11 @@ ControllerDisable(
     IN  PXENVIF_CONTROLLER      Controller
     )
 {
-    UNREFERENCED_PARAMETER(Controller);
+    __ControllerAcquireLock(Controller);
+
+    Controller->Enabled = FALSE;
+
+    __ControllerReleaseLock(Controller);

     Trace("<===>\n");
 }
--
2.51.0.windows.2



--
Ngoc Tu Dinh | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.