From: Hiago De Franco <hiago.franco@xxxxxxxxxxx> Hi Oliver, Following up on your initial email, I found that adjusting the NTB size successfully resolved the problem on both Linux and Windows. The VNC client is now operating with speed and stability after dividing the package size by 8. I know that altering the NTB size is not the correct solution, please consider the attached patch as an explanation, but the assumption that the issue may be related to an accumulation of small packages, causing delays in fulfilling the 16KB requirement, seems related. It appears that the proper fix involves the `hrtimer_start` function on line 1084 of `f_ncm.c`. However, I'm not sure what I could do to fix it. Thanks and regards, Hiago. drivers/usb/gadget/function/f_ncm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c index cc0ed29a4adc..138982da794a 100644 --- a/drivers/usb/gadget/function/f_ncm.c +++ b/drivers/usb/gadget/function/f_ncm.c @@ -88,8 +88,8 @@ static inline struct f_ncm *func_to_ncm(struct usb_function *f) * If the host can group frames, allow it to do that, 16K is selected, * because it's used by default by the current linux host driver */ -#define NTB_DEFAULT_IN_SIZE 16384 -#define NTB_OUT_SIZE 16384 +#define NTB_DEFAULT_IN_SIZE 2048 +#define NTB_OUT_SIZE 2048 /* Allocation for storing the NDP, 32 should suffice for a * 16k packet. This allows a maximum of 32 * 507 Byte packets to -- 2.42.0