ugen: question about receiving USBD_INTERRUPTED from
usbd_bulk_transfer
Raaf
freebsd at luna.afraid.org
Mon Jan 23 14:40:47 PST 2006
Lonnie Mendez wrote:
>
> Hello list. I've been working on/off on a usb host backend for qemu
> and have run into a snag with ugen. So far it is working well with
> devices that have interrupt endpoints like hid keypads/keyboards and a
> gps device. I'm seeing no problems with control endpoint trasfers
> either. The problem I'm encountering happens when attempting bulk IN
> transfers on two different mass storage devices. The device is sent the
> first mass storage command which succeeds and is then followed by a bulk
> IN request. Sometimes the first bulk IN request will return data, but
> then the second bulk IN request fails with EINTR. I've tried this with
> FreeBSD 6.0 release and recently with 7.0 current. I think the error
> returned is coming from the below code:
>
>
> http://fxr.watson.org/fxr/source//dev/usb/usbdi_util.c#L459
>
> The patch for qemu I'm using is located here: (patch-bsdusb.patch)
> http://gnome.dnsalias.net/patches/
>
> Both the qemu message output (transfer data log) and kernel messages
> with hw.usb.debug and hw.usb.ugen.debug enabled are here:
> http://gnome.dnsalias.net/kernlog-659
> http://gnome.dnsalias.net/qemulog-659
>
> Can someone more familiar with the kernel please take a look? Or can
> someone explain what receiving USBD_INTERRUPTED from this function would
> imply? Thanks.
>
Hi, looks like it's getting interrupted by a signal, see tsleep(9).
Maybe some alarm going off in the qemu code?
More information about the freebsd-usb
mailing list