Module Name:    src
Committed By:   skrll
Date:           Sun Oct 11 09:17:51 UTC 2015

Modified Files:
        src/sys/arch/mips/adm5120/dev [nick-nhusb]: ahci.c
        src/sys/dev/ic [nick-nhusb]: sl811hs.c
        src/sys/dev/usb [nick-nhusb]: ehci.c motg.c ohci.c uhci.c usbdi.c
            usbdivar.h xhci.c
        src/sys/external/bsd/dwc2 [nick-nhusb]: dwc2.c dwc2var.h
        src/sys/rump/dev/lib/libugenhc [nick-nhusb]: ugenhc.c

Log Message:
Update ubm_allocx with the isoc frame count parameter and use it in
dwctwo(4)


To generate a diff of this commit:
cvs rdiff -u -r1.12.6.12 -r1.12.6.13 src/sys/arch/mips/adm5120/dev/ahci.c
cvs rdiff -u -r1.47.6.12 -r1.47.6.13 src/sys/dev/ic/sl811hs.c
cvs rdiff -u -r1.234.2.53 -r1.234.2.54 src/sys/dev/usb/ehci.c
cvs rdiff -u -r1.12.2.18 -r1.12.2.19 src/sys/dev/usb/motg.c
cvs rdiff -u -r1.254.2.22 -r1.254.2.23 src/sys/dev/usb/ohci.c
cvs rdiff -u -r1.264.4.35 -r1.264.4.36 src/sys/dev/usb/uhci.c
cvs rdiff -u -r1.162.2.30 -r1.162.2.31 src/sys/dev/usb/usbdi.c
cvs rdiff -u -r1.109.2.17 -r1.109.2.18 src/sys/dev/usb/usbdivar.h
cvs rdiff -u -r1.28.2.40 -r1.28.2.41 src/sys/dev/usb/xhci.c
cvs rdiff -u -r1.32.2.12 -r1.32.2.13 src/sys/external/bsd/dwc2/dwc2.c
cvs rdiff -u -r1.3.12.5 -r1.3.12.6 src/sys/external/bsd/dwc2/dwc2var.h
cvs rdiff -u -r1.22.4.9 -r1.22.4.10 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/arch/mips/adm5120/dev/ahci.c
diff -u src/sys/arch/mips/adm5120/dev/ahci.c:1.12.6.12 src/sys/arch/mips/adm5120/dev/ahci.c:1.12.6.13
--- src/sys/arch/mips/adm5120/dev/ahci.c:1.12.6.12	Thu Mar 19 17:26:42 2015
+++ src/sys/arch/mips/adm5120/dev/ahci.c	Sun Oct 11 09:17:50 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ahci.c,v 1.12.6.12 2015/03/19 17:26:42 skrll Exp $	*/
+/*	$NetBSD: ahci.c,v 1.12.6.13 2015/10/11 09:17:50 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ahci.c,v 1.12.6.12 2015/03/19 17:26:42 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ahci.c,v 1.12.6.13 2015/10/11 09:17:50 skrll Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -95,7 +95,8 @@ static void		ahci_softintr(void *);
 static void		ahci_poll(struct usbd_bus *);
 static void		ahci_poll_hub(void *);
 static void		ahci_poll_device(void *arg);
-static struct usbd_xfer *ahci_allocx(struct usbd_bus *);
+static struct usbd_xfer *
+			ahci_allocx(struct usbd_bus *, unsigned int);
 static void		ahci_freex(struct usbd_bus *, struct usbd_xfer *);
 
 static void		ahci_get_lock(struct usbd_bus *, kmutex_t **);
@@ -450,7 +451,7 @@ ahci_poll_hub(void *arg)
 }
 
 struct usbd_xfer *
-ahci_allocx(struct usbd_bus *bus)
+ahci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct ahci_softc *sc = (struct ahci_softc *)bus;
 	struct usbd_xfer *xfer;

Index: src/sys/dev/ic/sl811hs.c
diff -u src/sys/dev/ic/sl811hs.c:1.47.6.12 src/sys/dev/ic/sl811hs.c:1.47.6.13
--- src/sys/dev/ic/sl811hs.c:1.47.6.12	Sun Oct 11 08:35:04 2015
+++ src/sys/dev/ic/sl811hs.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: sl811hs.c,v 1.47.6.12 2015/10/11 08:35:04 skrll Exp $	*/
+/*	$NetBSD: sl811hs.c,v 1.47.6.13 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Not (c) 2007 Matthew Orgass
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.47.6.12 2015/10/11 08:35:04 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sl811hs.c,v 1.47.6.13 2015/10/11 09:17:51 skrll Exp $");
 
 #include "opt_slhci.h"
 
@@ -420,7 +420,7 @@ slhci_dump_cc_times(int n) {
 typedef usbd_status (*LockCallFunc)(struct slhci_softc *, struct slhci_pipe
     *, struct usbd_xfer *);
 
-struct usbd_xfer * slhci_allocx(struct usbd_bus *);
+struct usbd_xfer * slhci_allocx(struct usbd_bus *, unsigned int);
 void slhci_freex(struct usbd_bus *, struct usbd_xfer *);
 static void slhci_get_lock(struct usbd_bus *, kmutex_t **);
 
@@ -758,7 +758,7 @@ enter_all_pipes(struct slhci_transfers *
 /* Start out of lock functions. */
 
 struct usbd_xfer *
-slhci_allocx(struct usbd_bus *bus)
+slhci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct usbd_xfer *xfer;
 

Index: src/sys/dev/usb/ehci.c
diff -u src/sys/dev/usb/ehci.c:1.234.2.53 src/sys/dev/usb/ehci.c:1.234.2.54
--- src/sys/dev/usb/ehci.c:1.234.2.53	Sun Oct 11 08:13:11 2015
+++ src/sys/dev/usb/ehci.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ehci.c,v 1.234.2.53 2015/10/11 08:13:11 skrll Exp $ */
+/*	$NetBSD: ehci.c,v 1.234.2.54 2015/10/11 09:17:51 skrll Exp $ */
 
 /*
  * Copyright (c) 2004-2012 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.234.2.53 2015/10/11 08:13:11 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.234.2.54 2015/10/11 09:17:51 skrll Exp $");
 
 #include "ohci.h"
 #include "uhci.h"
@@ -165,7 +165,7 @@ Static void		ehci_doorbell(void *);
 Static void		ehci_pcd(void *);
 
 Static struct usbd_xfer *
-			ehci_allocx(struct usbd_bus *);
+			ehci_allocx(struct usbd_bus *, unsigned int);
 Static void		ehci_freex(struct usbd_bus *, struct usbd_xfer *);
 Static void		ehci_get_lock(struct usbd_bus *, kmutex_t **);
 Static int		ehci_roothub_ctrl(struct usbd_bus *,
@@ -1513,7 +1513,7 @@ ehci_shutdown(device_t self, int flags)
 }
 
 Static struct usbd_xfer *
-ehci_allocx(struct usbd_bus *bus)
+ehci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct ehci_softc *sc = bus->ub_hcpriv;
 	struct usbd_xfer *xfer;

Index: src/sys/dev/usb/motg.c
diff -u src/sys/dev/usb/motg.c:1.12.2.18 src/sys/dev/usb/motg.c:1.12.2.19
--- src/sys/dev/usb/motg.c:1.12.2.18	Tue Sep 22 12:06:01 2015
+++ src/sys/dev/usb/motg.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: motg.c,v 1.12.2.18 2015/09/22 12:06:01 skrll Exp $	*/
+/*	$NetBSD: motg.c,v 1.12.2.19 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004, 2011, 2012, 2014 The NetBSD Foundation, Inc.
@@ -42,7 +42,7 @@
 #include "opt_motg.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: motg.c,v 1.12.2.18 2015/09/22 12:06:01 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: motg.c,v 1.12.2.19 2015/10/11 09:17:51 skrll Exp $");
 
 #include <sys/param.h>
 
@@ -144,7 +144,8 @@ static void		motg_root_intr_done(struct 
 static usbd_status	motg_open(struct usbd_pipe *);
 static void		motg_poll(struct usbd_bus *);
 static void		motg_softintr(void *);
-static struct usbd_xfer *	motg_allocx(struct usbd_bus *);
+static struct usbd_xfer *
+			motg_allocx(struct usbd_bus *, unsigned int);
 static void		motg_freex(struct usbd_bus *, struct usbd_xfer *);
 static void		motg_get_lock(struct usbd_bus *, kmutex_t **);
 static int		motg_roothub_ctrl(struct usbd_bus *, usb_device_request_t *,
@@ -745,7 +746,7 @@ motg_intr_vbus(struct motg_softc *sc, in
 }
 
 struct usbd_xfer *
-motg_allocx(struct usbd_bus *bus)
+motg_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct motg_softc *sc = bus->ub_hcpriv;
 	struct usbd_xfer *xfer;

Index: src/sys/dev/usb/ohci.c
diff -u src/sys/dev/usb/ohci.c:1.254.2.22 src/sys/dev/usb/ohci.c:1.254.2.23
--- src/sys/dev/usb/ohci.c:1.254.2.22	Tue Sep 22 12:06:01 2015
+++ src/sys/dev/usb/ohci.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ohci.c,v 1.254.2.22 2015/09/22 12:06:01 skrll Exp $	*/
+/*	$NetBSD: ohci.c,v 1.254.2.23 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004, 2005, 2012 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.254.2.22 2015/09/22 12:06:01 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.254.2.23 2015/10/11 09:17:51 skrll Exp $");
 
 #include "opt_usb.h"
 
@@ -162,7 +162,8 @@ Static ohci_soft_itd_t  *ohci_hash_find_
 Static usbd_status	ohci_setup_isoc(struct usbd_pipe *);
 Static void		ohci_device_isoc_enter(struct usbd_xfer *);
 
-Static struct usbd_xfer *	ohci_allocx(struct usbd_bus *);
+Static struct usbd_xfer *
+			ohci_allocx(struct usbd_bus *, unsigned int);
 Static void		ohci_freex(struct usbd_bus *, struct usbd_xfer *);
 Static void		ohci_get_lock(struct usbd_bus *, kmutex_t **);
 Static int		ohci_roothub_ctrl(struct usbd_bus *,
@@ -948,7 +949,7 @@ ohci_init(ohci_softc_t *sc)
 }
 
 struct usbd_xfer *
-ohci_allocx(struct usbd_bus *bus)
+ohci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct ohci_softc *sc = bus->ub_hcpriv;
 	struct usbd_xfer *xfer;

Index: src/sys/dev/usb/uhci.c
diff -u src/sys/dev/usb/uhci.c:1.264.4.35 src/sys/dev/usb/uhci.c:1.264.4.36
--- src/sys/dev/usb/uhci.c:1.264.4.35	Tue Sep 29 11:38:29 2015
+++ src/sys/dev/usb/uhci.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: uhci.c,v 1.264.4.35 2015/09/29 11:38:29 skrll Exp $	*/
+/*	$NetBSD: uhci.c,v 1.264.4.36 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004, 2011, 2012 The NetBSD Foundation, Inc.
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhci.c,v 1.264.4.35 2015/09/29 11:38:29 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhci.c,v 1.264.4.36 2015/10/11 09:17:51 skrll Exp $");
 
 #include "opt_usb.h"
 
@@ -202,7 +202,8 @@ Static void		uhci_rem_loop(uhci_softc_t 
 Static usbd_status	uhci_setup_isoc(struct usbd_pipe *);
 Static void		uhci_device_isoc_enter(struct usbd_xfer *);
 
-Static struct usbd_xfer *	uhci_allocx(struct usbd_bus *);
+Static struct usbd_xfer *
+			uhci_allocx(struct usbd_bus *, unsigned int);
 Static void		uhci_freex(struct usbd_bus *, struct usbd_xfer *);
 Static void		uhci_get_lock(struct usbd_bus *, kmutex_t **);
 Static int		uhci_roothub_ctrl(struct usbd_bus *,
@@ -613,7 +614,7 @@ uhci_detach(struct uhci_softc *sc, int f
 }
 
 struct usbd_xfer *
-uhci_allocx(struct usbd_bus *bus)
+uhci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct uhci_softc *sc = bus->ub_hcpriv;
 	struct usbd_xfer *xfer;

Index: src/sys/dev/usb/usbdi.c
diff -u src/sys/dev/usb/usbdi.c:1.162.2.30 src/sys/dev/usb/usbdi.c:1.162.2.31
--- src/sys/dev/usb/usbdi.c:1.162.2.30	Sat Oct 10 07:23:25 2015
+++ src/sys/dev/usb/usbdi.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbdi.c,v 1.162.2.30 2015/10/10 07:23:25 skrll Exp $	*/
+/*	$NetBSD: usbdi.c,v 1.162.2.31 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2012 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.162.2.30 2015/10/10 07:23:25 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.162.2.31 2015/10/11 09:17:51 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -67,7 +67,7 @@ Static usbd_status usbd_open_pipe_ival
 	(struct usbd_interface *, uint8_t, uint8_t, struct usbd_pipe **, int);
 static void *usbd_alloc_buffer(struct usbd_xfer *, uint32_t);
 static void usbd_free_buffer(struct usbd_xfer *);
-static struct usbd_xfer *usbd_alloc_xfer(struct usbd_device *);
+static struct usbd_xfer *usbd_alloc_xfer(struct usbd_device *, unsigned int);
 static usbd_status usbd_free_xfer(struct usbd_xfer *);
 
 #if defined(USB_DEBUG)
@@ -445,7 +445,7 @@ usbd_get_pipe0(struct usbd_device *dev)
 }
 
 static struct usbd_xfer *
-usbd_alloc_xfer(struct usbd_device *dev)
+usbd_alloc_xfer(struct usbd_device *dev, unsigned int nframes)
 {
 	struct usbd_xfer *xfer;
 
@@ -453,7 +453,7 @@ usbd_alloc_xfer(struct usbd_device *dev)
 
 	ASSERT_SLEEPABLE();
 
-	xfer = dev->ud_bus->ub_methods->ubm_allocx(dev->ud_bus);
+	xfer = dev->ud_bus->ub_methods->ubm_allocx(dev->ud_bus, nframes);
 	if (xfer == NULL)
 		return NULL;
 	xfer->ux_dev = dev;
@@ -493,7 +493,7 @@ usbd_create_xfer(struct usbd_pipe *pipe,
 {
 	KASSERT(xp != NULL);
 
-	struct usbd_xfer *xfer = usbd_alloc_xfer(pipe->up_dev);
+	struct usbd_xfer *xfer = usbd_alloc_xfer(pipe->up_dev, nframes);
 	if (xfer == NULL)
 		return ENOMEM;
 
@@ -1053,7 +1053,7 @@ usbd_do_request_flags_pipe(struct usbd_d
 
 	ASSERT_SLEEPABLE();
 
-	xfer = usbd_alloc_xfer(dev);
+	xfer = usbd_alloc_xfer(dev, 0);
 	if (xfer == NULL)
 		return USBD_NOMEM;
 

Index: src/sys/dev/usb/usbdivar.h
diff -u src/sys/dev/usb/usbdivar.h:1.109.2.17 src/sys/dev/usb/usbdivar.h:1.109.2.18
--- src/sys/dev/usb/usbdivar.h:1.109.2.17	Sat Jun  6 15:26:15 2015
+++ src/sys/dev/usb/usbdivar.h	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: usbdivar.h,v 1.109.2.17 2015/06/06 15:26:15 skrll Exp $	*/
+/*	$NetBSD: usbdivar.h,v 1.109.2.18 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 1998, 2012 The NetBSD Foundation, Inc.
@@ -94,7 +94,7 @@ struct usbd_bus_methods {
 	usbd_status	      (*ubm_open)(struct usbd_pipe *);
 	void		      (*ubm_softint)(void *);
 	void		      (*ubm_dopoll)(struct usbd_bus *);
-	struct usbd_xfer     *(*ubm_allocx)(struct usbd_bus *);
+	struct usbd_xfer     *(*ubm_allocx)(struct usbd_bus *, unsigned int);
 	void		      (*ubm_freex)(struct usbd_bus *, struct usbd_xfer *);
 	void		      (*ubm_getlock)(struct usbd_bus *, kmutex_t **);
 	usbd_status	      (*ubm_newdev)(device_t, struct usbd_bus *, int,

Index: src/sys/dev/usb/xhci.c
diff -u src/sys/dev/usb/xhci.c:1.28.2.40 src/sys/dev/usb/xhci.c:1.28.2.41
--- src/sys/dev/usb/xhci.c:1.28.2.40	Sat Oct  3 16:33:33 2015
+++ src/sys/dev/usb/xhci.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: xhci.c,v 1.28.2.40 2015/10/03 16:33:33 skrll Exp $	*/
+/*	$NetBSD: xhci.c,v 1.28.2.41 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*
  * Copyright (c) 2013 Jonathan A. Kollasch
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.28.2.40 2015/10/03 16:33:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xhci.c,v 1.28.2.41 2015/10/11 09:17:51 skrll Exp $");
 
 #include "opt_usb.h"
 
@@ -129,7 +129,7 @@ static void xhci_close_pipe(struct usbd_
 static int xhci_intr1(struct xhci_softc * const);
 static void xhci_softintr(void *);
 static void xhci_poll(struct usbd_bus *);
-static struct usbd_xfer *xhci_allocx(struct usbd_bus *);
+static struct usbd_xfer *xhci_allocx(struct usbd_bus *, unsigned int);
 static void xhci_freex(struct usbd_bus *, struct usbd_xfer *);
 static void xhci_get_lock(struct usbd_bus *, kmutex_t **);
 static usbd_status xhci_new_device(device_t, struct usbd_bus *, int, int, int,
@@ -2054,7 +2054,7 @@ xhci_poll(struct usbd_bus *bus)
 }
 
 static struct usbd_xfer *
-xhci_allocx(struct usbd_bus *bus)
+xhci_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct xhci_softc * const sc = bus->ub_hcpriv;
 	struct usbd_xfer *xfer;

Index: src/sys/external/bsd/dwc2/dwc2.c
diff -u src/sys/external/bsd/dwc2/dwc2.c:1.32.2.12 src/sys/external/bsd/dwc2/dwc2.c:1.32.2.13
--- src/sys/external/bsd/dwc2/dwc2.c:1.32.2.12	Sun Oct  4 10:45:37 2015
+++ src/sys/external/bsd/dwc2/dwc2.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: dwc2.c,v 1.32.2.12 2015/10/04 10:45:37 skrll Exp $	*/
+/*	$NetBSD: dwc2.c,v 1.32.2.13 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwc2.c,v 1.32.2.12 2015/10/04 10:45:37 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwc2.c,v 1.32.2.13 2015/10/11 09:17:51 skrll Exp $");
 
 #include "opt_usb.h"
 
@@ -84,7 +84,8 @@ Static void		dwc2_poll(struct usbd_bus *
 Static void		dwc2_softintr(void *);
 Static void		dwc2_waitintr(struct dwc2_softc *, struct usbd_xfer *);
 
-Static struct usbd_xfer *	dwc2_allocx(struct usbd_bus *);
+Static struct usbd_xfer *
+			dwc2_allocx(struct usbd_bus *, unsigned int);
 Static void		dwc2_freex(struct usbd_bus *, struct usbd_xfer *);
 Static void		dwc2_get_lock(struct usbd_bus *, kmutex_t **);
 Static int		dwc2_roothub_ctrl(struct usbd_bus *, usb_device_request_t *,
@@ -204,7 +205,7 @@ Static const struct usbd_pipe_methods dw
 };
 
 struct usbd_xfer *
-dwc2_allocx(struct usbd_bus *bus)
+dwc2_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct dwc2_softc *sc = DWC2_BUS2SC(bus);
 	struct dwc2_xfer *dxfer;
@@ -217,7 +218,7 @@ dwc2_allocx(struct usbd_bus *bus)
 		memset(dxfer, 0, sizeof(*dxfer));
 
 		dxfer->urb = dwc2_hcd_urb_alloc(sc->sc_hsotg,
-		    DWC2_MAXISOCPACKETS, GFP_KERNEL);
+		    nframes, GFP_KERNEL);
 
 #ifdef DIAGNOSTIC
 		dxfer->xfer.ux_state = XFER_BUSY;
@@ -241,7 +242,7 @@ dwc2_freex(struct usbd_bus *bus, struct 
 	xfer->ux_state = XFER_FREE;
 #endif
 	DWC2_EVCNT_INCR(sc->sc_ev_xferpoolput);
-	dwc2_hcd_urb_free(sc->sc_hsotg, dxfer->urb, DWC2_MAXISOCPACKETS);
+	dwc2_hcd_urb_free(sc->sc_hsotg, dxfer->urb, dxfer->urb->packet_count);
 	pool_cache_put(sc->sc_xferpool, xfer);
 }
 
@@ -1060,7 +1061,7 @@ dwc2_device_start(struct usbd_xfer *xfer
 		    return USBD_NOMEM;
 
 	memset(dwc2_urb, 0, sizeof(*dwc2_urb) +
-	    sizeof(dwc2_urb->iso_descs[0]) * DWC2_MAXISOCPACKETS);
+	    sizeof(dwc2_urb->iso_descs[0]) * dwc2_urb->packet_count);
 
 	dwc2_urb->priv = xfer;
 
@@ -1090,7 +1091,6 @@ dwc2_device_start(struct usbd_xfer *xfer
 	dwc2_urb->length = len;
  	dwc2_urb->flags = flags;
 	dwc2_urb->status = -EINPROGRESS;
-	dwc2_urb->packet_count = xfer->ux_nframes;
 
 	if (xfertype == UE_INTERRUPT ||
 	    xfertype == UE_ISOCHRONOUS) {
@@ -1131,7 +1131,7 @@ dwc2_device_start(struct usbd_xfer *xfer
 	xfer->ux_actlen = 0;
 
 	KASSERT(xfertype != UE_ISOCHRONOUS ||
-	    xfer->ux_nframes < DWC2_MAXISOCPACKETS);
+	    xfer->ux_nframes < dwc2_urb->packet_count);
 	KASSERTMSG(xfer->ux_nframes == 0 || xfertype == UE_ISOCHRONOUS,
 	    "nframes %d xfertype %d\n", xfer->ux_nframes, xfertype);
 

Index: src/sys/external/bsd/dwc2/dwc2var.h
diff -u src/sys/external/bsd/dwc2/dwc2var.h:1.3.12.5 src/sys/external/bsd/dwc2/dwc2var.h:1.3.12.6
--- src/sys/external/bsd/dwc2/dwc2var.h:1.3.12.5	Sat Jun  6 14:40:20 2015
+++ src/sys/external/bsd/dwc2/dwc2var.h	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: dwc2var.h,v 1.3.12.5 2015/06/06 14:40:20 skrll Exp $	*/
+/*	$NetBSD: dwc2var.h,v 1.3.12.6 2015/10/11 09:17:51 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -34,7 +34,6 @@
 
 #include <sys/pool.h>
 
-#define DWC2_MAXISOCPACKETS	16
 struct dwc2_hsotg;
 struct dwc2_qtd;
 

Index: src/sys/rump/dev/lib/libugenhc/ugenhc.c
diff -u src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.22.4.9 src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.22.4.10
--- src/sys/rump/dev/lib/libugenhc/ugenhc.c:1.22.4.9	Thu Mar 19 17:26:42 2015
+++ src/sys/rump/dev/lib/libugenhc/ugenhc.c	Sun Oct 11 09:17:51 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ugenhc.c,v 1.22.4.9 2015/03/19 17:26:42 skrll Exp $	*/
+/*	$NetBSD: ugenhc.c,v 1.22.4.10 2015/10/11 09:17:51 skrll 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.22.4.9 2015/03/19 17:26:42 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ugenhc.c,v 1.22.4.10 2015/10/11 09:17:51 skrll Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -882,7 +882,7 @@ ugenhc_poll(struct usbd_bus *ubus)
 }
 
 static struct usbd_xfer *
-ugenhc_allocx(struct usbd_bus *bus)
+ugenhc_allocx(struct usbd_bus *bus, unsigned int nframes)
 {
 	struct usbd_xfer *xfer;
 

Reply via email to