Module Name: src Committed By: pooka Date: Tue Feb 23 14:05:04 UTC 2010
Modified Files: src/sys/rump/dev/lib/libugenhc: ugenhc.c Log Message: * abort correct endpoint in bulk xfers * actually free memory in the freem method (well, usually stick it to the usb freelist, but same thing) To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/rump/dev/lib/libugenhc/ugenhc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/dev/lib/libugenhc/ugenhc.c diff -u src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.7 src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.8 --- src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.7 Mon Feb 22 14:47:40 2010 +++ src/sys/rump/dev/lib/libugenhc/ugenhc.c Tue Feb 23 14:05:04 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: ugenhc.c,v 1.7 2010/02/22 14:47:40 pooka Exp $ */ +/* $NetBSD: ugenhc.c,v 1.8 2010/02/23 14:05:04 pooka Exp $ */ /* * Copyright (c) 2009, 2010 Antti Kantee. All Rights Reserved. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ugenhc.c,v 1.7 2010/02/22 14:47:40 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ugenhc.c,v 1.8 2010/02/23 14:05:04 pooka Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -136,6 +136,8 @@ .bDeviceSubClass = UDSUBCLASS_HUB, .bDeviceProtocol = UDPROTO_FSHUB, .bMaxPacketSize = 64, + .idVendor = { 0x75, 0x72 }, + .idProduct = { 0x70, 0x6d }, .bNumConfigurations = 1, }; @@ -845,6 +847,8 @@ usbd_xfer_handle xfer; int error; + endpt = UE_GET_ADDR(endpt); + while ((xfer = SIMPLEQ_FIRST(&pipe->queue)) != NULL) rumpusb_device_bulk_abort(xfer); @@ -974,9 +978,11 @@ } static void -ugenhc_freem(struct usbd_bus *ubus, usb_dma_t *udma) +ugenhc_freem(struct usbd_bus *bus, usb_dma_t *dma) { + struct ugenhc_softc *sc = bus->hci_private; + usb_freemem(&sc->sc_bus, dma); } static struct usbd_xfer *