diff mbox series

rndis_host: increase sleep time in the query-response loop

Message ID 20200911141725.5960-1-olympia.giannou@leica-geosystems.com
State New
Headers show
Series rndis_host: increase sleep time in the query-response loop | expand

Commit Message

Olympia Giannou Sept. 11, 2020, 2:17 p.m. UTC
Some WinCE devices face connectivity issues via the NDIS interface. They
fail to register, resulting in -110 timeout errors and failures during the
probe procedure.

In this kind of WinCE devices, the Windows-side ndis driver needs quite
more time to be loaded and configured, so that the linux rndis host queries
to them fail to be responded correctly on time.

More specifically, when INIT is called on the WinCE side - no other
requests can be served by the Client and this results in a failed QUERY
afterwards.

The increase of the waiting time on the side of the linux rndis host in
the command-response loop leaves the INIT process to complete and respond
to a QUERY, which comes afterwards. The WinCE devices with this special
"feature" in their ndis driver are satisfied by this fix.

Signed-off-by: Olympia Giannou <olympia.giannou@leica-geosystems.com>
---
 drivers/net/usb/rndis_host.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller Sept. 14, 2020, 9:40 p.m. UTC | #1
From: Olympia Giannou <ogiannou@gmail.com>
Date: Fri, 11 Sep 2020 14:17:24 +0000

> Some WinCE devices face connectivity issues via the NDIS interface. They
> fail to register, resulting in -110 timeout errors and failures during the
> probe procedure.
> 
> In this kind of WinCE devices, the Windows-side ndis driver needs quite
> more time to be loaded and configured, so that the linux rndis host queries
> to them fail to be responded correctly on time.
> 
> More specifically, when INIT is called on the WinCE side - no other
> requests can be served by the Client and this results in a failed QUERY
> afterwards.
> 
> The increase of the waiting time on the side of the linux rndis host in
> the command-response loop leaves the INIT process to complete and respond
> to a QUERY, which comes afterwards. The WinCE devices with this special
> "feature" in their ndis driver are satisfied by this fix.
> 
> Signed-off-by: Olympia Giannou <olympia.giannou@leica-geosystems.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
index bd9c07888ebb..6fa7a009a24a 100644
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c
@@ -201,7 +201,7 @@  int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf, int buflen)
 			dev_dbg(&info->control->dev,
 				"rndis response error, code %d\n", retval);
 		}
-		msleep(20);
+		msleep(40);
 	}
 	dev_dbg(&info->control->dev, "rndis response timeout\n");
 	return -ETIMEDOUT;