Module Name: src Committed By: jmcneill Date: Tue Jan 22 13:27:59 UTC 2013
Modified Files: src/sys/dev/usb: usbdi.c usbdi.h Log Message: usbd_open_pipe and usbd_open_pipe_intr take different flags! Make sure the value of USBD_MPSAFE doesn't conflict with flags for either of them, as it can be passed to both. To generate a diff of this commit: cvs rdiff -u -r1.149 -r1.150 src/sys/dev/usb/usbdi.c cvs rdiff -u -r1.86 -r1.87 src/sys/dev/usb/usbdi.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/usbdi.c diff -u src/sys/dev/usb/usbdi.c:1.149 src/sys/dev/usb/usbdi.c:1.150 --- src/sys/dev/usb/usbdi.c:1.149 Tue Jan 22 13:18:47 2013 +++ src/sys/dev/usb/usbdi.c Tue Jan 22 13:27:59 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: usbdi.c,v 1.149 2013/01/22 13:18:47 jmcneill Exp $ */ +/* $NetBSD: usbdi.c,v 1.150 2013/01/22 13:27:59 jmcneill 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.149 2013/01/22 13:18:47 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.150 2013/01/22 13:27:59 jmcneill Exp $"); #ifdef _KERNEL_OPT #include "opt_compat_netbsd.h" @@ -198,7 +198,8 @@ usbd_open_pipe_intr(usbd_interface_handl DPRINTFN(3,("usbd_open_pipe_intr: address=0x%x flags=0x%x len=%d\n", address, flags, len)); - err = usbd_open_pipe_ival(iface, address, USBD_EXCLUSIVE_USE | flags, + err = usbd_open_pipe_ival(iface, address, + USBD_EXCLUSIVE_USE | (flags & USBD_MPSAFE), &ipipe, ival); if (err) return (err); Index: src/sys/dev/usb/usbdi.h diff -u src/sys/dev/usb/usbdi.h:1.86 src/sys/dev/usb/usbdi.h:1.87 --- src/sys/dev/usb/usbdi.h:1.86 Tue Jan 22 12:48:07 2013 +++ src/sys/dev/usb/usbdi.h Tue Jan 22 13:27:59 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: usbdi.h,v 1.86 2013/01/22 12:48:07 jmcneill Exp $ */ +/* $NetBSD: usbdi.h,v 1.87 2013/01/22 13:27:59 jmcneill Exp $ */ /* $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.18 1999/11/17 22:33:49 n_hibma Exp $ */ /* @@ -71,7 +71,7 @@ typedef void (*usbd_callback)(usbd_xfer_ /* Open flags */ #define USBD_EXCLUSIVE_USE 0x01 -#define USBD_MPSAFE 0x02 +#define USBD_MPSAFE 0x80 /* Use default (specified by ep. desc.) interval on interrupt pipe */ #define USBD_DEFAULT_INTERVAL (-1) @@ -209,7 +209,7 @@ struct usb_task { #define USB_TASKQ_DRIVER 1 #define USB_NUM_TASKQS 2 #define USB_TASKQ_NAMES {"usbtask-hc", "usbtask-dr"} -#define USB_TASKQ_MPSAFE 0x02 +#define USB_TASKQ_MPSAFE 0x80 void usb_add_task(usbd_device_handle, struct usb_task *, int); void usb_rem_task(usbd_device_handle, struct usb_task *);