Messages in this thread | | | Date | Thu, 12 Dec 2019 12:45:59 +0100 | From | Marek Marczykowski-Górecki <> | Subject | Re: [PATCH 1/2] usbip: Fix receive error in vhci-hcd when using scatter-gather |
| |
On Thu, Dec 12, 2019 at 02:28:40PM +0900, Suwan Kim wrote: > When vhci uses SG and receives data whose size is smaller than SG > buffer size, it tries to receive more data even if it acutally > receives all the data from the server. If then, it erroneously adds > error event and triggers connection shutdown. > > vhci-hcd should check if it received all the data even if there are > more SG entries left. So, check if it receivces all the data from > the server in for_each_sg() loop. > > Fixes: ea44d190764b ("usbip: Implement SG support to vhci-hcd and stub driver") > Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > Signed-off-by: Suwan Kim <suwan.kim027@gmail.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> --- > drivers/usb/usbip/usbip_common.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/usbip/usbip_common.c b/drivers/usb/usbip/usbip_common.c > index 6532d68e8808..e4b96674c405 100644 > --- a/drivers/usb/usbip/usbip_common.c > +++ b/drivers/usb/usbip/usbip_common.c > @@ -727,6 +727,9 @@ int usbip_recv_xbuff(struct usbip_device *ud, struct urb *urb) > > copy -= recv; > ret += recv; > + > + if (!copy) > + break; > } > > if (ret != size)
-- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? [unhandled content-type:application/pgp-signature] | |