--- src/sys/dev/usb/if_urndis.c	Tue Mar  5 18:04:24 2019
+++ src/sys/dev/usb/if_urndis.c	Fri May 10 05:10:18 2019
@@ -185,14 +185,17 @@ urndis_ctrl_msg(struct urndis_softc *sc,
     uint16_t index, uint16_t value, void *buf, size_t buflen)
 {
 	usb_device_request_t req;
+	uint16_t flags;
 
 	req.bmRequestType = rt;
+	flags = (UT_GET_DIR(rt) & UT_READ) ? USBD_SHORT_XFER_OK : 0;
 	req.bRequest = r;
 	USETW(req.wValue, value);
 	USETW(req.wIndex, index);
 	USETW(req.wLength, buflen);
 
-	return usbd_do_request(sc->sc_udev, &req, buf);
+	return usbd_do_request_flags(sc->sc_udev, &req, buf, flags, NULL,
+	    USBD_DEFAULT_TIMEOUT);
 }
 
 static usbd_status
