From patchwork Tue Feb 2 13:42:06 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: usb-host quirks Date: Tue, 02 Feb 2010 03:42:06 -0000 From: Michael Buesch X-Patchwork-Id: 44285 Message-Id: <201002021442.07991.mb@bu3sch.de> To: qemu-devel@nongnu.org Hi, I've got a buggy device that needs a special workaround to be usable under host-usb access. The device really doesn't like being reset via USBDEVFS_RESET. It immediatenly locks up the device firmware or whatever. It won't respond properly anymore. With the following patch it works fine, though. So I was wondering what the accepted way was to get these quirks upstream into the qemu source tree. Is usb-linux.c the correct place, or should we put the quirk into a different place? --- usb-linux.c | 4 ++++ 1 file changed, 4 insertions(+) --- qemu.orig/usb-linux.c +++ qemu/usb-linux.c @@ -389,6 +389,10 @@ static void usb_host_handle_reset(USBDev dprintf("husb: reset device %u.%u\n", s->bus_num, s->addr); + if (((s->descr[8] << 8) | s->descr[9]) == 0x2471 && + ((s->descr[10] << 8) | s->descr[11]) == 0x0853) + return; + ioctl(s->fd, USBDEVFS_RESET); usb_host_claim_interfaces(s, s->configuration);