Date: Tue, 12 May 2009 06:39:53 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 161961 for review Message-ID: <200905120639.n4C6drRs026284@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=161961 Change 161961 by hselasky@hselasky_laptop001 on 2009/05/12 06:38:57 USB CORE: - Cancelled error code must be returned in special case, else device drivers might end up in infinite loop. - The special case code was introduced by a recent commit. Bug report by: Andrey <andrey.kosachenko@gmail.com> Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#144 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#144 (text+ko) ==== @@ -1439,7 +1439,11 @@ /* Check if the device is still alive */ if (info->udev->state < USB_STATE_POWERED) { USB_BUS_LOCK(bus); - usb2_transfer_done(xfer, USB_ERR_NOT_CONFIGURED); + /* + * Must return cancelled error code else + * device drivers can hang. + */ + usb2_transfer_done(xfer, USB_ERR_CANCELLED); USB_BUS_UNLOCK(bus); return; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905120639.n4C6drRs026284>