History log of /src/sys/dev/usb/usbdi_util.c |
Revision | | Date | Author | Comments |
1.88 |
| 04-Feb-2024 |
mrg | update my email address.
|
1.87 |
| 17-Apr-2022 |
riastradh | usbdi(9): Make usb_desc_iter_next_interface reject truncated descs.
Currently callers have to check whether the descriptor is truncated, which is willy.
|
1.86 |
| 17-Apr-2022 |
riastradh | usbdi(9): Minor KNF and tidying in descriptor iteration.
No functional change intended.
|
1.85 |
| 13-Mar-2022 |
riastradh | usb: Parse descriptors a little more robustly.
- Avoid reading past the end in the event of bogus bLength. - Avoid arithmetic overflow by rearranging inequalities.
Reported-by: syzbot+511227c050a2f164e34c@syzkaller.appspotmail.com
|
1.84 |
| 16-Jun-2020 |
maxv | remove unused
|
1.83 |
| 15-May-2020 |
maxv | It should be allowed to have exactly a usb_descriptor_t.
|
1.82 |
| 13-Mar-2020 |
christos | PR/55068: sc.dying: Fix printf formats: - no %s/%p for kernel log - 0x% -> %# - always %j for kernel log
|
1.81 |
| 16-Feb-2020 |
maxv | Improve the check, to prevent more surprises.
|
1.80 |
| 16-Feb-2020 |
maxv | Move usb_desc_* into usbdi_util.c, no functional change.
|
1.79 |
| 10-Feb-2020 |
skrll | Fix USB_DEBUG build
|
1.78 |
| 08-Feb-2020 |
maxv | Move three functions into usbdi_util.c, where they belong. No functional change.
|
1.77 |
| 08-Feb-2020 |
maxv | Reorder usbdi_util.{c,h}, for clarity. No functional change.
|
1.76 |
| 08-Feb-2020 |
maxv | Introduce usbd_clear_endpoint_feature(), and dedup.
|
1.75 |
| 21-Aug-2019 |
mrg | branches: 1.75.2; convert pairs of USBHIST_CALLED()+USBHIST_LOG*() into USBHIST_CALLARGS() calls. this reduces the number of kernel history lines consumed by these callers, and for the +LOGN versions, add useful log info to a message that just says "called!".
reduces the line spam which means the total info in a full log is significantly increased.
|
1.74 |
| 31-Jul-2019 |
maxv | 1) Make sure we have a complete endpoint descriptor header, otherwise small overflow. 2) Make sure the total length of the bos descriptor did not change in the meantime, otherwise severe memory corruption. 3) Make sure we have a complete hid descriptor header, otherwise small overflow. 4) Error out if the report descriptor is zero-sized, otherwise panic.
ok skrll@ mrg@
|
1.73 |
| 07-Feb-2019 |
skrll | branches: 1.73.4; Remove (mostly useless) usb_detach_{broadcast,wait} and replace with cv_{broadcast,timedwait}
Really should loop on conditon.
|
1.72 |
| 08-Nov-2018 |
manu | Workaround PN533 USB descriptor corruption
During normal operation, the PN533 chip may corrupt its USB configuration, interface and endpoint descriptors. The device descriptor remains unaffected.
Since the descriptors are documented to be immutable, we can work around the problem by providing hard-coded descriptors instead of pulling them from the device.
Userland implementation such as NFC tools' libnfc use the same approach, but this kernel quirk is still necessary so that the device can be attached on reboot, after its USB descriptors got corrupted.
|
1.71 |
| 24-Jul-2018 |
msaitoh | On detach, print error message with aprint_error_dev() instead of printf().
|
1.70 |
| 28-Oct-2017 |
pgoyette | branches: 1.70.2; 1.70.4; Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
|
1.69 |
| 22-Oct-2017 |
skrll | KNF
|
1.68 |
| 10-Oct-2017 |
maya | Reorder to test for null before null deref in debug code
|
1.67 |
| 10-Oct-2017 |
maya | Reorder to test for null before null deref in debug code
|
1.66 |
| 01-Jun-2017 |
chs | branches: 1.66.2; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.65 |
| 23-Apr-2016 |
skrll | Merge nick-nhusb
- API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix
|
1.64 |
| 27-Mar-2015 |
skrll | Add usbd_get_bos_desc{,_full} from Takahiro HAYASHI
|
1.63 |
| 12-Sep-2014 |
skrll | branches: 1.63.2; Improve USB debugging with USBHIST based on KERNHIST.
Convert some DPRINTFs to USBHIST_LOG and allow usbdebug, ehcidebug and umassdebug to be changed via sysctl.
Remove the #define mess in usb.h.
This was started by mrg@ and updated by reinoud@
|
1.62 |
| 26-Sep-2013 |
skrll | branches: 1.62.4; 1.62.8; Remove usbd_do_request_async. It's callback was calling usbd_free_xfer from softint context.
Adjust callers appropriately
- usbd_clear_endpoint_stall_async is already triggered via a usb_task, so simply call usbd_do_request.
- uhidev_set_report_async had one caller in ukbd_set_leds. Convert this usage to use usb_task as well.
Discussed with mrg@
|
1.61 |
| 30-Aug-2013 |
skrll | Remove race introduced by using usbd_sync_transfer_sig with a callback that use the xfer cv (or does wake up on the xfer). The xfer has likely been freed or re-used.
While here update utoppy(4) to use usbd_sync_transfer_sig.
Fixes PR/48151
|
1.60 |
| 24-Aug-2013 |
skrll | Fix typo in DPRINTF
|
1.59 |
| 05-Jan-2013 |
christos | branches: 1.59.2; fix debug variables. - include opt_usb.h in usb.h so that USB_DEBUG gets set properly in it. - normalize and sort debugging variables
|
1.58 |
| 05-Jan-2013 |
christos | - need opt_usb.h if depending on USB_DEBUG - remove trailing whitespace - add missing KERNEL_RCSID
|
1.57 |
| 10-Jun-2012 |
mrg | branches: 1.57.2; merge the jmcneill-usbmp branch. many thanks to jared for the initial work, and every one else who has tested things for me. this is largely my fault at this point :-)
the main changes are something like:
- usbd_bus_methods{} gains a get_lock() to enable the host controller to provide a lock for the USB code. if the lock isn't provided, old-style protection is (partially) applied.
- ehci/ohci/uhci have been converted to the new interfaces, including mutex/cv/etc conversion.
- usbdivar.h contains a discussion about locking and what locks are held for which method calls. more to come for usbdi(9) here.
- audio drivers (uaudio, umidi, auvitek) have been properly SMPified now that USB is ready.
- scsi drivers have been modified to take the kernel lock explicitly before calling into scsi code.
- usb pipes are associated with a lock, that is the same as the controller lock. (this could be split up further in the future.)
- several usbfoo_locked() or usbfoo_unlocked() functions have been added to the usbdi(9) to enable functionality with or without the USB lock (per controller) already being held.
the TODO.usbmp file has specific details on what is left to do, including what device-specific changes should be done now that the whole framework is ready.
|
1.56 |
| 06-Mar-2012 |
mrg | pull down from usbmp branch:
- rename usb_detach_{wake,waitup}() to usb_detach_{wake,waitup}old() - use some c99 struct .initialisers
|
1.55 |
| 03-Nov-2010 |
dyoung | branches: 1.55.8; 1.55.12; Stop using the compatibility macros USB_ATTACH(), USB_DETACH(), USB_MATCH(), et cetera. These files produce the same assembly (according to objdump -d) before and after the change
|
1.54 |
| 01-Oct-2010 |
christos | From Anon Ymous:
Add support for the Zoom 3095 USB Fax Modem. There are some problems with this modem:
1) The CS descriptors were placed after all other descriptors rather than in the Control Interface. This is true in both configurations and is the issue this patch deals with.
2) Modem audio is not done on the modem. There is a second configuration with an extra interface (3 interfaces) which presumably is for handling audio. This patch does not support that.
3) The interrupts are raised a bit slowly. This means that pppd(8) needs to wait a bit before trying to read from the link (i.e., just before the get_input() loop in src/dist/pppd/pppd/main.c line 547). If you don't wait, then DCD will not be detected high before that first read and get_input() will drop the line. This is not a problem if you use the "local" option to pppd(8) and ignore DCD, but that is less than desirable.
4) You apparently have to toggle "RSDL (DCD) option"[1] when you initialize the modem or you will never see a second DCD high interrupt when redialing after a disconnect. Without this the pppd(8) "persist" mode will not work. Presumably, some extra initialization is missing from the driver for this chipset.
[1] Send the AT commands: AT&C0 followed by AT&C1 - doing it in one command doesn't work. The AT commands for this modem are at: http://www.zoom.com/documentation/dial_up/3095F_ATcommands.pdf
|
1.53 |
| 12-Nov-2009 |
uebayasi | branches: 1.53.2; 1.53.4; usbd_do_request_flags(..., 0, 0, USBD_CONFIG_TIMEOUT) is equivalent to usbd_do_request(...). Remove an unneeded cast. No functional changes.
|
1.52 |
| 16-Aug-2009 |
martin | Use a separately defined USBD_CONFIG_TIMEOUT when requesting a device descriptor. I have a USB ATA device that spins up it's (removable) hard disk and only returns the real descriptor if the disk is present - this takes too long with the default 5 seconds timeout, so we were unable to properly attach this device.
|
1.51 |
| 26-May-2008 |
drochner | some cleanup: -unifdef -since the roothub attach doesn't use locators, don't call config_stdsubmatch() -- it is a no-op in that case -ifsubmatch has configuration and interface always set to useful values, remove unnecessary checks -remove now unused locator definitions from shared header
|
1.50 |
| 28-Apr-2008 |
martin | branches: 1.50.2; Remove clause 3 and 4 from TNF licenses
|
1.49 |
| 04-Mar-2007 |
christos | branches: 1.49.36; 1.49.38; 1.49.40; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.48 |
| 26-Feb-2007 |
drochner | branches: 1.48.4; Define a usb_cdc_descriptor_t which contains the class specific "bDescriptorSubtype" field and change usb_find_desc()/usb_find_desc_if() to use it. (The latter functions should not be used by generic code; I've left the names for now for compatibility.) Rename USBD_SUBTYPE_ANY to make clear that it is not generic.
|
1.47 |
| 16-Nov-2006 |
christos | branches: 1.47.4; __unused removal on arguments; approved by core.
|
1.46 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.45 |
| 11-Dec-2005 |
christos | branches: 1.45.20; 1.45.22; merge ktrace-lwp.
|
1.44 |
| 30-May-2005 |
christos | branches: 1.44.2; make the definitions consistent with the declarations.
|
1.43 |
| 12-Apr-2005 |
itohy | Add usb_find_desc_if(), which is similar to usb_find_desc(), but searches only in the specified interface rather than in whole configuration.
|
1.42 |
| 03-Dec-2004 |
augustss | branches: 1.42.4; 1.42.10; Allow interrupt output devices. From FreeBSD.
|
1.41 |
| 23-Oct-2004 |
augustss | Make an iterator abstraction for looping through all descriptors.
Move usb_get_string() and make it public.
|
1.40 |
| 11-Jul-2002 |
augustss | branches: 1.40.6; Get rid of trailing white space.
|
1.39 |
| 27-Dec-2001 |
augustss | branches: 1.39.8; Add usbd_get_protocol().
|
1.38 |
| 18-Dec-2001 |
augustss | Move utility routine from uirda.c to usbdi_util.c.
|
1.37 |
| 15-Nov-2001 |
augustss | usbd_interface2device_handle() cannot fail.
|
1.36 |
| 13-Nov-2001 |
lukem | add RCSIDs
|
1.35 |
| 26-Oct-2001 |
augustss | s/usbd_alloc_report_desc/usbd_read_report_desc/
|
1.34 |
| 04-Jul-2001 |
augustss | branches: 1.34.2; 1.34.6; Null a pointer on error return.
|
1.33 |
| 01-Jun-2000 |
augustss | branches: 1.33.4; Make it compile with USB_DEBUG.
|
1.32 |
| 01-Jun-2000 |
augustss | Improve some portability items.
|
1.31 |
| 01-Jun-2000 |
augustss | Bring the coding style into the 80s, i.e., get rid of __P and use ANSI prototypes and declarations.
|
1.30 |
| 27-Apr-2000 |
augustss | branches: 1.30.2; Change my email address.
|
1.29 |
| 27-Mar-2000 |
augustss | Change (almost) all static to Static. The symbol `Static' can then be defined to `' or `static' depending on if you want to debug or not.
|
1.28 |
| 22-Feb-2000 |
augustss | Fix (mostly harmless) typo.
|
1.27 |
| 08-Feb-2000 |
augustss | Use NULL instead of 0.
|
1.26 |
| 28-Nov-1999 |
augustss | More USB_DEBUG and DIAGNOSTIC output.
|
1.25 |
| 18-Nov-1999 |
augustss | Cosmetic changes and some small improvements. From FreeBSD and Nick Hibma.
|
1.24 |
| 17-Nov-1999 |
augustss | A few more purely stylistic changes that I missed in the last round.
|
1.23 |
| 12-Nov-1999 |
augustss | A number of stylistic changes to increase readability (many suggested by Nick Hibma): use NULL not 0 declare all local definitions static rename s/usbd_request/usbd_xfer/ s/reqh/xfer/ rename s/r/err/ use implicit test for no err KNF
|
1.22 |
| 13-Oct-1999 |
augustss | branches: 1.22.2; 1.22.4; Merge in a large batch of changes from Nick Hibma <hibma@skylink.it> so the USB stack compiles on FreeBSD again.
|
1.21 |
| 09-Sep-1999 |
augustss | branches: 1.21.2; Change the internal API to allow DMA buffers to be pre-allocated by the device driver instead of happening automagically in the HC driver. This affects both the HC-USBD interface as well as the USBD-device interface. This change will allow DMA buffers to be reused e.g. in isochronous traffic.
Add isochronous support to the UHCI driver (not for OHCI yet).
|
1.20 |
| 05-Sep-1999 |
augustss | Change the way the `struct device' base part of all driver softc are declared and accessed to make it more portable. Idea from Nick Hibma, FreeBSD. No functional changes.
|
1.19 |
| 22-Aug-1999 |
augustss | Move more of the transfer completion processing to HC independent code. Fix some problems with transfer abort & timeout.
|
1.18 |
| 17-Aug-1999 |
augustss | Make some small changes to make it compile on OpenBSD.
|
1.17 |
| 14-Aug-1999 |
augustss | Some changes from FreeBSD (no functional differences).
|
1.16 |
| 07-Aug-1999 |
augustss | Add usbd_set_hub_feature() and usbd_clear_hub_feature().
|
1.15 |
| 02-Aug-1999 |
augustss | Another debug message.
|
1.14 |
| 30-Jun-1999 |
augustss | Totally redo the way device detach is done. It now uses a kernel event thread and the config detach method. Squish a number of space leaks on detach.
|
1.13 |
| 08-Jan-1999 |
augustss | branches: 1.13.4; Various little fixes from the FreeBSD version.
|
1.12 |
| 07-Jan-1999 |
augustss | Fix some FreeBSD compiler warnings.
|
1.11 |
| 03-Jan-1999 |
augustss | Add a length paarmeter to usbd_do_request_flags().
|
1.10 |
| 01-Jan-1999 |
augustss | Add usbd_bulk_transfer(), a function to do interruptible transfer that do not time out.
|
1.9 |
| 26-Dec-1998 |
augustss | Merge changes to make the USB stack work with FreeBSD. The original diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial changes from me. XXX Not tested on FreeBSD yet.
|
1.8 |
| 09-Dec-1998 |
augustss | Improvement to the ugen driver. Better error checking. Some code rearrengment.
|
1.7 |
| 08-Dec-1998 |
augustss | Some minor API changes and additions.
|
1.6 |
| 02-Dec-1998 |
augustss | Handle compound devices in usbd_get_report_descriptor().
|
1.5 |
| 25-Nov-1998 |
augustss | Make the copyright header conform to the NetBSD template.
|
1.4 |
| 02-Aug-1998 |
augustss | Improve some error messages. Make some preparations for isochronous transfers.
|
1.3 |
| 29-Jul-1998 |
augustss | Add functions to execute asynchronous requests and use these from interrupt context. [I had some feline debugging help here. I noticed that every time Kem, our kitty, jumped onto the USB keyboard the machine crashed.]
|
1.2 |
| 13-Jul-1998 |
augustss | Add some useful HID ioctl()s.
|
1.1 |
| 12-Jul-1998 |
augustss | Add USB support. Supported so far: * UHCI and OHCI host controllers on PCI * Hubs * HID devices withe special drivers for mouse and keyboard * Printers
|
1.13.4.1 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
1.21.2.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.22.4.1 |
| 15-Nov-1999 |
fvdl | Sync with -current
|
1.22.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.30.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.33.4.4 |
| 01-Aug-2002 |
nathanw | Catch up to -current.
|
1.33.4.3 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.33.4.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.33.4.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.34.6.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.34.2.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.34.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.39.8.1 |
| 15-Jul-2002 |
gehenna | catch up with -current.
|
1.40.6.3 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.40.6.2 |
| 18-Dec-2004 |
skrll | Sync with HEAD.
|
1.40.6.1 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.42.10.1 |
| 17-Apr-2005 |
tron | Pull up revision 1.43 (requested by itohy in ticket #160): Add usb_find_desc_if(), which is similar to usb_find_desc(), but searches only in the specified interface rather than in whole configuration.
|
1.42.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.44.2.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.45.22.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.45.22.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.45.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.47.4.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.47.4.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.48.4.2 |
| 17-Jun-2007 |
itohy | Pullup 1.49 in a different way.
|
1.48.4.1 |
| 22-May-2007 |
itohy | Overhaul of USB stack, mostly DMA related
This applies to NetBSD 4.99.13 (March 1, 2007)
usbdi(9) interface is based on FreeBSD version, excluding - removal of portability code
Patch most NetBSD changes, excluding - DMA memory "reserve", since we don't need contiguous buffers any longer - volatiles in DMA structure, since it should not be needed with proper bus_dmamap_sync(9)s
DMA/non-DMA memory management overhaul - Move all DMA related code to usb_mem.[ch] (add usb_alloc_buffer_dma(), usb_free_buffer_dma(), etc.). XXX Should usb_mem.[ch] be renamed as usb_mem_dma.[ch] ? - Add corresponding non-DMA code to usb_mem_nodma.[ch] . Currently just use malloc(9). - Above files are conditionally used by config framework (added attributes to conf/files and dev/usb/files.usb). - Add diagnostic panics when resource allocation is requested on interrupt context. - Change memory allocations (that require context) from NOWAIT to WAITOK.
Allocate DMA/non-DMA buffer per host interface, not globally. advantage: Buffers can be freed on detaching host interface. Activity of a host interface does not affect others. disadvantages: It possibly consumes more memory.
API changes - usbd_alloc_xfer() is changed: old: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev); new: usbd_xfer_handle usbd_alloc_xfer(usbd_device_handle dev, usbd_pipe_handle pipe); - pipe argument of usbd_setup_*xfer() are now unused XXX the pipe argument should be removed? - add mapping APIs - async request will be processed as a task (kernel thread context), and delayed to some extent - usbdivar.h: struct usbd_xfer: renamed a member "allocbuf" to "hcbuffer" (mapped/allocated/refered buffer for HCI driver) - usb_port.h: change usb_proc_ptr from struct ptoc * to struct lwp * - usb_port.h: add usb_sigproc_ptr for psignal(9) (struct proc *) - usb.h: add UE_MAXPKTSZ(ep) and UE_MAXPKTSZ_MASK macros for USB 2.0
changes to USB device drivers - atu, aue, axe, cdce, cue, kue, rum, udav, upl, ural, url, uaudio, ubt, ucom, ugen, uhidev, uirda, ulpt, umidi, urio, uscanner, ustir, utoppy: * catch up API change of usbd_alloc_xfer() - umass, usscanner: * catch up API change of usbd_alloc_xfer() * eliminate memory copy for large transfer
ohci - free resources on detach - add lots of bus_dmamap_sync() operations - simplify the code of loading std chain - rewrite code of looking up TD/ITD from DMA addr by using allocation chunk - add workaround for CMD Tech 670 and 673 chipsets - make sure resources are not allocated in interrupt context - add support for mapping buffer and mbuf
slhci - allocate xfer and slhci_xfer at once, and simplify relevant code - add slhci_detach() - remove second arg of slhci_attach() since it is the same as the first arg. - add support for "mapping" (no, it doesn't map since it doesn't do DMA) buffer and mbuf - add pcmcia frontend - NOT TESTED, missing hardware
ehci - add lots of bus_dmamap_sync() operations, possibly too many - make sure resources are not allocated in interrupt context - add support for mapping buffer and mbuf - done only simple test
uhci - add lots of bus_dmamap_sync() operations, possibly too many - make sure resources are not allocated in interrupt context - add support for mapping buffer and mbuf
To do - review, test, debug - rewrite network drivers to utilize usbd_map_buffer_mbuf() - rewrite uaudio(4) to eliminate memcpy - "pipe" argument of usbd_setup_*xfer() should eventually be removed
|
1.49.40.5 |
| 09-Oct-2010 |
yamt | sync with head
|
1.49.40.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.49.40.3 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.49.40.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.49.40.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.49.38.2 |
| 04-Jun-2008 |
yamt | sync with head
|
1.49.38.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.49.36.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.50.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.53.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.53.2.2 |
| 06-Nov-2010 |
uebayasi | Sync with HEAD.
|
1.53.2.1 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.55.12.8 |
| 02-Jun-2012 |
mrg | convert usbd_{intr,bulk}_transfer() in the USBMP world: - add a new USBD_SYNCHRONOUS_SIG flag for transfers - in usbd_transfer(), if USBD_SYNCHRONOUS_SIG is set use cv_wait_sig() (or tlseep(xfer, PZERO|PATCH, ...) for the unconverted controllers) - add a usbd_sync_transfer_sig() front-end to usbd_transfer() - greatly simplify both usbd_{intr,bulk}_transfer() to just usbd_sync_transfer_sig() and usbd_get_xfer_status().
this fixes lockdebug issues where usbd_{intr,bulk}_transfer() where it taking the pipe lock, when usbd_transfer() would call functions that expect the pipe lock not to be taken (and try to taken it.)
|
1.55.12.7 |
| 06-Mar-2012 |
mrg | sync to -current
|
1.55.12.6 |
| 26-Feb-2012 |
mrg | rename usb_detach_waitcv() to usb_detach_wait()
|
1.55.12.5 |
| 26-Feb-2012 |
mrg | rename old usb_detach_wakeup/wait to usb_detach_{wake,wakeup}old().
|
1.55.12.4 |
| 26-Feb-2012 |
mrg | - add some more "XXXSMP ok" tags - use cpu_softintr_p() instead of checking LP_INTR directly
|
1.55.12.3 |
| 25-Feb-2012 |
mrg | implement cv/mutex based usb_detach_wait/wakeup().
|
1.55.12.2 |
| 23-Feb-2012 |
mrg | update a bunch of comments for reality. usb lock isn't a "thread lock", which is terminology we copied from the audiomp code.
|
1.55.12.1 |
| 08-Dec-2011 |
mrg | convert the remaining wakeup(xfer)'s to use the xfer->cv.
utoppy - untested.
|
1.55.8.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.55.8.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.55.8.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.57.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.57.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.59.2.2 |
| 18-May-2014 |
rmind | sync with head
|
1.59.2.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.62.8.3 |
| 31-Mar-2017 |
skrll | KNF
|
1.62.8.2 |
| 26-Jan-2017 |
skrll | Sync with HEAD/nhusb
|
1.62.8.1 |
| 06-Sep-2016 |
skrll | First pass at netbsd-7 updated with USB code from HEAD
|
1.62.4.1 |
| 05-Apr-2017 |
snj | Pull up following revision(s) (requested by skrll in ticket #1395): share/man/man4/axe.4: netbsd-7-nhusb share/man/man4/axen.4: netbsd-7-nhusb share/man/man4/cdce.4: netbsd-7-nhusb share/man/man4/uaudio.4: netbsd-7-nhusb share/man/man4/ucom.4: netbsd-7-nhusb share/man/man4/uep.4: netbsd-7-nhusb share/man/man4/urtw.4: netbsd-7-nhusb share/man/man4/usb.4: netbsd-7-nhusb share/man/man4/uyap.4: netbsd-7-nhusb share/man/man4/xhci.4: netbsd-7-nhusb share/man/man9/usbdi.9: netbsd-7-nhusb sys/arch/amd64/conf/ALL: netbsd-7-nhusb sys/arch/amd64/conf/GENERIC: netbsd-7-nhusb sys/arch/amiga/dev/slhci_zbus.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_otg.c: netbsd-7-nhusb sys/arch/arm/allwinner/awin_usb.c: netbsd-7-nhusb sys/arch/arm/amlogic/amlogic_dwctwo.c: netbsd-7-nhusb sys/arch/arm/at91/at91ohci.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm2835_dwctwo.c: netbsd-7-nhusb sys/arch/arm/broadcom/bcm53xx_usb.c: netbsd-7-nhusb sys/arch/arm/ep93xx/epohci.c: netbsd-7-nhusb sys/arch/arm/gemini/obio_ehci.c: netbsd-7-nhusb sys/arch/arm/imx/files.imx23: netbsd-7-nhusb sys/arch/arm/imx/imxusb.c: netbsd-7-nhusb sys/arch/arm/imx/imxusbreg.h: netbsd-7-nhusb sys/arch/arm/omap/obio_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/omap3_ehci.c: netbsd-7-nhusb sys/arch/arm/omap/omapl1x_ohci.c: netbsd-7-nhusb sys/arch/arm/omap/tiotg.c: netbsd-7-nhusb sys/arch/arm/s3c2xx0/ohci_s3c24x0.c: netbsd-7-nhusb sys/arch/arm/samsung/exynos_usb.c: netbsd-7-nhusb sys/arch/arm/xscale/pxa2x0_ohci.c: netbsd-7-nhusb sys/arch/arm/zynq/zynq_usb.c: netbsd-7-nhusb sys/arch/hpcarm/dev/nbp_slhci.c: netbsd-7-nhusb sys/arch/hpcmips/dev/plumohci.c: netbsd-7-nhusb sys/arch/i386/conf/ALL: netbsd-7-nhusb sys/arch/i386/conf/GENERIC: netbsd-7-nhusb sys/arch/i386/pci/gcscehci.c: netbsd-7-nhusb sys/arch/luna68k/conf/GENERIC: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahci.c: netbsd-7-nhusb sys/arch/mips/adm5120/dev/ahcivar.h: netbsd-7-nhusb sys/arch/mips/alchemy/dev/ohci_aubus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ehci_arbus.c: netbsd-7-nhusb sys/arch/mips/atheros/dev/ohci_arbus.c: netbsd-7-nhusb sys/arch/mips/conf/files.adm5120: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ehci.c: netbsd-7-nhusb sys/arch/mips/ralink/ralink_ohci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ehci.c: netbsd-7-nhusb sys/arch/mips/rmi/rmixl_ohci.c: netbsd-7-nhusb sys/arch/playstation2/dev/ohci_sbus.c: netbsd-7-nhusb sys/arch/powerpc/booke/dev/pq3ehci.c: netbsd-7-nhusb sys/arch/powerpc/ibm4xx/dev/dwctwo_plb.c: netbsd-7-nhusb sys/arch/x68k/dev/slhci_intio.c: netbsd-7-nhusb sys/conf/files: netbsd-7-nhusb sys/dev/cardbus/ehci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/ohci_cardbus.c: netbsd-7-nhusb sys/dev/cardbus/uhci_cardbus.c: netbsd-7-nhusb sys/dev/ic/sl811hs.c: netbsd-7-nhusb sys/dev/ic/sl811hsvar.h: netbsd-7-nhusb sys/dev/isa/slhci_isa.c: netbsd-7-nhusb sys/dev/marvell/ehci_mv.c: netbsd-7-nhusb sys/dev/pci/ehci_pci.c: netbsd-7-nhusb sys/dev/pci/ohci_pci.c: netbsd-7-nhusb sys/dev/pci/uhci_pci.c: netbsd-7-nhusb sys/dev/pci/xhci_pci.c: netbsd-7-nhusb sys/dev/pcmcia/slhci_pcmcia.c: netbsd-7-nhusb sys/dev/usb/Makefile.usbdevs: netbsd-7-nhusb sys/dev/usb/TODO: netbsd-7-nhusb sys/dev/usb/TODO.usbmp: netbsd-7-nhusb sys/dev/usb/aubtfwl.c: netbsd-7-nhusb sys/dev/usb/auvitek.c: netbsd-7-nhusb sys/dev/usb/auvitek_audio.c: netbsd-7-nhusb sys/dev/usb/auvitek_dtv.c: netbsd-7-nhusb sys/dev/usb/auvitek_i2c.c: netbsd-7-nhusb sys/dev/usb/auvitek_video.c: netbsd-7-nhusb sys/dev/usb/auvitekvar.h: netbsd-7-nhusb sys/dev/usb/ehci.c: netbsd-7-nhusb sys/dev/usb/ehcireg.h: netbsd-7-nhusb sys/dev/usb/ehcivar.h: netbsd-7-nhusb sys/dev/usb/emdtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_dtv.c: netbsd-7-nhusb sys/dev/usb/emdtv_ir.c: netbsd-7-nhusb sys/dev/usb/emdtvvar.h: netbsd-7-nhusb sys/dev/usb/ezload.c: netbsd-7-nhusb sys/dev/usb/ezload.h: netbsd-7-nhusb sys/dev/usb/files.usb: netbsd-7-nhusb sys/dev/usb/hid.c: netbsd-7-nhusb sys/dev/usb/hid.h: netbsd-7-nhusb sys/dev/usb/if_athn_usb.c: netbsd-7-nhusb sys/dev/usb/if_athn_usb.h: netbsd-7-nhusb sys/dev/usb/if_atu.c: netbsd-7-nhusb sys/dev/usb/if_atureg.h: netbsd-7-nhusb sys/dev/usb/if_aue.c: netbsd-7-nhusb sys/dev/usb/if_auereg.h: netbsd-7-nhusb sys/dev/usb/if_axe.c: netbsd-7-nhusb sys/dev/usb/if_axen.c: netbsd-7-nhusb sys/dev/usb/if_axenreg.h: netbsd-7-nhusb sys/dev/usb/if_axereg.h: netbsd-7-nhusb sys/dev/usb/if_cdce.c: netbsd-7-nhusb sys/dev/usb/if_cdcereg.h: netbsd-7-nhusb sys/dev/usb/if_cue.c: netbsd-7-nhusb sys/dev/usb/if_cuereg.h: netbsd-7-nhusb sys/dev/usb/if_kue.c: netbsd-7-nhusb sys/dev/usb/if_kuereg.h: netbsd-7-nhusb sys/dev/usb/if_otus.c: netbsd-7-nhusb sys/dev/usb/if_otusvar.h: netbsd-7-nhusb sys/dev/usb/if_rum.c: netbsd-7-nhusb sys/dev/usb/if_rumreg.h: netbsd-7-nhusb sys/dev/usb/if_rumvar.h: netbsd-7-nhusb sys/dev/usb/if_run.c: netbsd-7-nhusb sys/dev/usb/if_runvar.h: netbsd-7-nhusb sys/dev/usb/if_smsc.c: netbsd-7-nhusb sys/dev/usb/if_smscreg.h: netbsd-7-nhusb sys/dev/usb/if_smscvar.h: netbsd-7-nhusb sys/dev/usb/if_udav.c: netbsd-7-nhusb sys/dev/usb/if_udavreg.h: netbsd-7-nhusb sys/dev/usb/if_upgt.c: netbsd-7-nhusb sys/dev/usb/if_upgtvar.h: netbsd-7-nhusb sys/dev/usb/if_upl.c: netbsd-7-nhusb sys/dev/usb/if_ural.c: netbsd-7-nhusb sys/dev/usb/if_uralreg.h: netbsd-7-nhusb sys/dev/usb/if_uralvar.h: netbsd-7-nhusb sys/dev/usb/if_url.c: netbsd-7-nhusb sys/dev/usb/if_urlreg.h: netbsd-7-nhusb sys/dev/usb/if_urndis.c: netbsd-7-nhusb sys/dev/usb/if_urndisreg.h: netbsd-7-nhusb sys/dev/usb/if_urtw.c: netbsd-7-nhusb sys/dev/usb/if_urtwn.c: netbsd-7-nhusb sys/dev/usb/if_urtwn_data.h: netbsd-7-nhusb sys/dev/usb/if_urtwnreg.h: netbsd-7-nhusb sys/dev/usb/if_urtwnvar.h: netbsd-7-nhusb sys/dev/usb/if_urtwreg.h: netbsd-7-nhusb sys/dev/usb/if_zyd.c: netbsd-7-nhusb sys/dev/usb/if_zydreg.h: netbsd-7-nhusb sys/dev/usb/irmce.c: netbsd-7-nhusb sys/dev/usb/moscom.c: netbsd-7-nhusb sys/dev/usb/motg.c: netbsd-7-nhusb sys/dev/usb/motgvar.h: netbsd-7-nhusb sys/dev/usb/ohci.c: netbsd-7-nhusb sys/dev/usb/ohcireg.h: netbsd-7-nhusb sys/dev/usb/ohcivar.h: netbsd-7-nhusb sys/dev/usb/pseye.c: netbsd-7-nhusb sys/dev/usb/slurm.c: netbsd-7-nhusb sys/dev/usb/stuirda.c: netbsd-7-nhusb sys/dev/usb/u3g.c: netbsd-7-nhusb sys/dev/usb/uark.c: netbsd-7-nhusb sys/dev/usb/uatp.c: netbsd-7-nhusb sys/dev/usb/uaudio.c: netbsd-7-nhusb sys/dev/usb/uberry.c: netbsd-7-nhusb sys/dev/usb/ubsa.c: netbsd-7-nhusb sys/dev/usb/ubsa_common.c: netbsd-7-nhusb sys/dev/usb/ubsavar.h: netbsd-7-nhusb sys/dev/usb/ubt.c: netbsd-7-nhusb sys/dev/usb/uchcom.c: netbsd-7-nhusb sys/dev/usb/ucom.c: netbsd-7-nhusb sys/dev/usb/ucomvar.h: netbsd-7-nhusb sys/dev/usb/ucycom.c: netbsd-7-nhusb sys/dev/usb/udl.c: netbsd-7-nhusb sys/dev/usb/udl.h: netbsd-7-nhusb sys/dev/usb/udsbr.c: netbsd-7-nhusb sys/dev/usb/udsir.c: netbsd-7-nhusb sys/dev/usb/uep.c: netbsd-7-nhusb sys/dev/usb/uftdi.c: netbsd-7-nhusb sys/dev/usb/uftdireg.h: netbsd-7-nhusb sys/dev/usb/ugen.c: netbsd-7-nhusb sys/dev/usb/ugensa.c: netbsd-7-nhusb sys/dev/usb/uhci.c: netbsd-7-nhusb sys/dev/usb/uhcireg.h: netbsd-7-nhusb sys/dev/usb/uhcivar.h: netbsd-7-nhusb sys/dev/usb/uhid.c: netbsd-7-nhusb sys/dev/usb/uhidev.c: netbsd-7-nhusb sys/dev/usb/uhidev.h: netbsd-7-nhusb sys/dev/usb/uhmodem.c: netbsd-7-nhusb sys/dev/usb/uhso.c: netbsd-7-nhusb sys/dev/usb/uhub.c: netbsd-7-nhusb sys/dev/usb/uipad.c: netbsd-7-nhusb sys/dev/usb/uipaq.c: netbsd-7-nhusb sys/dev/usb/uirda.c: netbsd-7-nhusb sys/dev/usb/uirdavar.h: netbsd-7-nhusb sys/dev/usb/ukbd.c: netbsd-7-nhusb sys/dev/usb/ukbdmap.c: netbsd-7-nhusb sys/dev/usb/ukyopon.c: netbsd-7-nhusb sys/dev/usb/ukyopon.h: netbsd-7-nhusb sys/dev/usb/ulpt.c: netbsd-7-nhusb sys/dev/usb/umass.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.c: netbsd-7-nhusb sys/dev/usb/umass_isdata.h: netbsd-7-nhusb sys/dev/usb/umass_quirks.c: netbsd-7-nhusb sys/dev/usb/umass_quirks.h: netbsd-7-nhusb sys/dev/usb/umass_scsipi.c: netbsd-7-nhusb sys/dev/usb/umass_scsipi.h: netbsd-7-nhusb sys/dev/usb/umassvar.h: netbsd-7-nhusb sys/dev/usb/umcs.c: netbsd-7-nhusb sys/dev/usb/umct.c: netbsd-7-nhusb sys/dev/usb/umidi.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.c: netbsd-7-nhusb sys/dev/usb/umidi_quirks.h: netbsd-7-nhusb sys/dev/usb/umodem.c: netbsd-7-nhusb sys/dev/usb/umodem_common.c: netbsd-7-nhusb sys/dev/usb/umodemvar.h: netbsd-7-nhusb sys/dev/usb/ums.c: netbsd-7-nhusb sys/dev/usb/uplcom.c: netbsd-7-nhusb sys/dev/usb/urio.c: netbsd-7-nhusb sys/dev/usb/urio.h: netbsd-7-nhusb sys/dev/usb/usb.c: netbsd-7-nhusb sys/dev/usb/usb.h: netbsd-7-nhusb sys/dev/usb/usb_mem.c: netbsd-7-nhusb sys/dev/usb/usb_mem.h: netbsd-7-nhusb sys/dev/usb/usb_quirks.c: netbsd-7-nhusb sys/dev/usb/usb_quirks.h: netbsd-7-nhusb sys/dev/usb/usb_subr.c: netbsd-7-nhusb sys/dev/usb/usbdevices.config: netbsd-7-nhusb sys/dev/usb/usbdevs: netbsd-7-nhusb sys/dev/usb/usbdevs.h: netbsd-7-nhusb sys/dev/usb/usbdevs_data.h: netbsd-7-nhusb sys/dev/usb/usbdi.c: netbsd-7-nhusb sys/dev/usb/usbdi.h: netbsd-7-nhusb sys/dev/usb/usbdi_util.c: netbsd-7-nhusb sys/dev/usb/usbdi_util.h: netbsd-7-nhusb sys/dev/usb/usbdivar.h: netbsd-7-nhusb sys/dev/usb/usbhid.h: netbsd-7-nhusb sys/dev/usb/usbhist.h: netbsd-7-nhusb sys/dev/usb/usbroothub.c: netbsd-7-nhusb sys/dev/usb/usbroothub.h: netbsd-7-nhusb sys/dev/usb/usbroothub_subr.c: delete sys/dev/usb/usbroothub_subr.h: delete sys/dev/usb/uscanner.c: netbsd-7-nhusb sys/dev/usb/uslsa.c: netbsd-7-nhusb sys/dev/usb/usscanner.c: netbsd-7-nhusb sys/dev/usb/ustir.c: netbsd-7-nhusb sys/dev/usb/uthum.c: netbsd-7-nhusb sys/dev/usb/utoppy.c: netbsd-7-nhusb sys/dev/usb/uts.c: netbsd-7-nhusb sys/dev/usb/uvideo.c: netbsd-7-nhusb sys/dev/usb/uvisor.c: netbsd-7-nhusb sys/dev/usb/uvscom.c: netbsd-7-nhusb sys/dev/usb/uyap.c: netbsd-7-nhusb sys/dev/usb/uyap_firmware.h: netbsd-7-nhusb sys/dev/usb/uyurex.c: netbsd-7-nhusb sys/dev/usb/x1input_rdesc.h: netbsd-7-nhusb sys/dev/usb/xhci.c: netbsd-7-nhusb sys/dev/usb/xhcireg.h: netbsd-7-nhusb sys/dev/usb/xhcivar.h: netbsd-7-nhusb sys/dev/usb/xinput_rdesc.h: netbsd-7-nhusb sys/external/bsd/common/conf/files.linux: netbsd-7-nhusb sys/external/bsd/common/include/linux/err.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/kernel.h: netbsd-7-nhusb sys/external/bsd/common/include/linux/workqueue.h: netbsd-7-nhusb sys/external/bsd/common/linux/linux_work.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/atombios_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/dist/drm/radeon/radeon_legacy_encoders.c: netbsd-7-nhusb sys/external/bsd/drm2/drm/files.drmkms: netbsd-7-nhusb sys/external/bsd/drm2/i915drm/files.i915drmkms: netbsd-7-nhusb sys/external/bsd/drm2/include/linux/err.h: delete sys/external/bsd/drm2/include/linux/workqueue.h: delete sys/external/bsd/drm2/linux/files.drmkms_linux: netbsd-7-nhusb sys/external/bsd/drm2/linux/linux_work.c: delete sys/external/bsd/dwc2/dwc2.c: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwc2var.h: netbsd-7-nhusb sys/external/bsd/dwc2/dwctwo2netbsd: netbsd-7-nhusb sys/external/bsd/dwc2/conf/files.dwc2: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_core.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_coreintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcd.h: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdddma.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdintr.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hcdqueue.c: netbsd-7-nhusb sys/external/bsd/dwc2/dist/dwc2_hw.h: netbsd-7-nhusb sys/modules/drmkms_linux/Makefile: netbsd-7-nhusb sys/modules/i915drmkms/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libugenhc/ugenhc.c: netbsd-7-nhusb sys/rump/dev/lib/libusb/Makefile: netbsd-7-nhusb sys/rump/dev/lib/libusb/USB.ioconf: netbsd-7-nhusb sys/rump/dev/lib/libusb/usb_at_ugenhc.c: delete sys/rump/dev/lib/libusb/opt/opt_usb.h: delete sys/rump/dev/lib/libusb/opt/opt_usbverbose.h: delete sys/sys/mbuf.h: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.8: netbsd-7-nhusb usr.sbin/usbdevs/usbdevs.c: netbsd-7-nhusb Merge netbsd-7-nhusb: - API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix - Change the SOFTINT level from NET to SERIAL for the USB softint handler. This gives the callback a chance of running when another softint handler at SOFTINT_NET has blocked holding a lock, e.g. softnet_lock and most of the network stack. - kern/49065 - ifconfig tun0 ... sequence locks up system / lockup: softnet_lock held across usb xfr - kern/50491 - unkillable wait in usbd_transfer while using usmsc0 on raspberry pi 2 - kern/51395 - USB Ethernet makes xhci hang - Various improvements to slhci(4) - Various improvements to dwc2(4)
|
1.63.2.16 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.63.2.15 |
| 29-Jan-2017 |
skrll | KNF
|
1.63.2.14 |
| 27-Oct-2016 |
skrll | Retire usb_detach_{wait,broadcast} and simply use condvar(9) instead
|
1.63.2.13 |
| 06-Feb-2016 |
skrll | More debug
|
1.63.2.12 |
| 06-Oct-2015 |
skrll | Move from usbd_{alloc,free}_xfer and usbd_{alloc,free}_buffer to usbd_{create,destroy}_xfer. The API change will allow future changes to HCDs to simplify the transfer resource allocation and activation.
Several devices tested including ucom, umass, smsc, uvideo, and uaudio.
|
1.63.2.11 |
| 29-Sep-2015 |
skrll | sizeof KNF
|
1.63.2.10 |
| 07-Jun-2015 |
skrll | Add usbd_get_port_status_ext
From t-hash
|
1.63.2.9 |
| 06-Jun-2015 |
skrll | Add usbd_set_port_u[12]_timeout().
From t-hash
|
1.63.2.8 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.63.2.7 |
| 19-Mar-2015 |
skrll | Do the same as OpenBSD and get rid of the *_handle typedefs and use plain structures insteads
|
1.63.2.6 |
| 07-Mar-2015 |
skrll | Complete converstion to USBHIST
|
1.63.2.5 |
| 05-Dec-2014 |
skrll | KNF. Remove ( ) from return statements.
|
1.63.2.4 |
| 03-Dec-2014 |
skrll | Replace malloc(9) with kmem(9)
|
1.63.2.3 |
| 01-Dec-2014 |
skrll | Remove the lbl argument from usbd_{bulk,intr}_transfer.
|
1.63.2.2 |
| 30-Nov-2014 |
skrll | Whitespace
|
1.63.2.1 |
| 30-Nov-2014 |
skrll | Use C99 types. u_int{8,16,32,64}_t to uint{8,16,32,64}_t.
No functional change.
|
1.66.2.2 |
| 12-Nov-2018 |
martin | Pull up following revision(s) (requested by manu in ticket #1091):
sys/dev/usb/usb_quirks.c: revision 1.88,1.89 (via patch) sys/dev/usb/usbdi_util.c: revision 1.72 (via patch) sys/dev/usb/usb_quirks.h: revision 1.28 (via patch) sys/dev/usb/usbdi_util.h: revision 1.48 sys/dev/usb/usbdevs: revision 1.760,1.761 (via patch)
Add PN533 based NFC devices
-
Workaround PN533 USB descriptor corruption
During normal operation, the PN533 chip may corrupt its USB configuration, interface and endpoint descriptors. The device descriptor remains unaffected.
Since the descriptors are documented to be immutable, we can work around the problem by providing hard-coded descriptors instead of pulling them from the device.
Userland implementation such as NFC tools' libnfc use the same approach, but this kernel quirk is still necessary so that the device can be attached on reboot, after its USB descriptors got corrupted.
-
Fix typo
|
1.66.2.1 |
| 02-Nov-2017 |
snj | Pull up following revision(s) (requested by pgoyette in ticket #335): share/man/man9/kernhist.9: 1.5-1.8 sys/arch/acorn26/acorn26/pmap.c: 1.39 sys/arch/arm/arm32/fault.c: 1.105 via patch sys/arch/arm/arm32/pmap.c: 1.350, 1.359 sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7 sys/arch/arm/omap/if_cpsw.c: 1.20 sys/arch/arm/omap/tiotg.c: 1.7 sys/arch/evbarm/conf/RPI2_INSTALL: 1.3 sys/dev/ic/sl811hs.c: 1.98 sys/dev/usb/ehci.c: 1.256 sys/dev/usb/if_axe.c: 1.83 sys/dev/usb/motg.c: 1.18 sys/dev/usb/ohci.c: 1.274 sys/dev/usb/ucom.c: 1.119 sys/dev/usb/uhci.c: 1.277 sys/dev/usb/uhub.c: 1.137 sys/dev/usb/umass.c: 1.160-1.162 sys/dev/usb/umass_quirks.c: 1.100 sys/dev/usb/umass_scsipi.c: 1.55 sys/dev/usb/usb.c: 1.168 sys/dev/usb/usb_mem.c: 1.70 sys/dev/usb/usb_subr.c: 1.221 sys/dev/usb/usbdi.c: 1.175 sys/dev/usb/usbdi_util.c: 1.67-1.70 sys/dev/usb/usbroothub.c: 1.3 sys/dev/usb/xhci.c: 1.75 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34 sys/kern/kern_history.c: 1.15 sys/kern/kern_xxx.c: 1.74 sys/kern/vfs_bio.c: 1.275-1.276 sys/miscfs/genfs/genfs_io.c: 1.71 sys/sys/kernhist.h: 1.21 sys/ufs/ffs/ffs_balloc.c: 1.63 sys/ufs/lfs/lfs_vfsops.c: 1.361 sys/ufs/lfs/ulfs_inode.c: 1.21 sys/ufs/lfs/ulfs_vnops.c: 1.52 sys/ufs/ufs/ufs_inode.c: 1.102 sys/ufs/ufs/ufs_vnops.c: 1.239 sys/uvm/pmap/pmap.c: 1.37-1.39 sys/uvm/pmap/pmap_tlb.c: 1.22 sys/uvm/uvm_amap.c: 1.108 sys/uvm/uvm_anon.c: 1.64 sys/uvm/uvm_aobj.c: 1.126 sys/uvm/uvm_bio.c: 1.91 sys/uvm/uvm_device.c: 1.66 sys/uvm/uvm_fault.c: 1.201 sys/uvm/uvm_km.c: 1.144 sys/uvm/uvm_loan.c: 1.85 sys/uvm/uvm_map.c: 1.353 sys/uvm/uvm_page.c: 1.194 sys/uvm/uvm_pager.c: 1.111 sys/uvm/uvm_pdaemon.c: 1.109 sys/uvm/uvm_swap.c: 1.175 sys/uvm/uvm_vnode.c: 1.103 usr.bin/vmstat/vmstat.c: 1.219 Reorder to test for null before null deref in debug code -- Reorder to test for null before null deref in debug code -- KNF -- No need for '\n' in UVMHIST_LOG -- normalise a BIOHIST log message -- Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up... (As proposed on tech-kern@ with additional changes and enhancements.) Details of changes: * All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.) * Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments. * All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t. * All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size." * All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed. * vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9). * vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed). * vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built. * The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements. [1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju". [2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies. -- For some reason this single kernel seems to have outgrown its declared size as a result of the kernhist(9) changes. Bump the size. XXX The amount of increase may be excessive - anyone with more detailed XXX knowledge please feel free to further adjust the value appropriately. -- Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit -- And yet another one. :( -- Use correct mark-up for NetBSD version. -- More improvements in grammar and readability. -- Remove a stray '"' (obvious typo) and add a couple of casts that are probably needed. -- And replace an instance of "%p" conversion with "%#jx" -- Whitespace fix. Give Bl tag table a width. Fix Xr.
|
1.70.4.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.70.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.70.2.2 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.70.2.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.73.4.1 |
| 01-Sep-2019 |
martin | Pull up following revision(s) (requested by mrg in ticket #135):
distrib/sets/lists/comp/mi 1.2279 distrib/sets/lists/modules/mi 1.123 share/man/man9/Makefile 1.438 share/man/man9/usbnet.9 1.1-1.9 sys/dev/ic/rndisreg.h 1.3 sys/dev/usb/TODO 1.47-1.52 sys/dev/usb/TODO.usbmp 1.15,1.16 sys/dev/usb/files.usb 1.157-1.167 sys/dev/usb/if_aue.c 1.155-1.161 sys/dev/usb/if_auereg.h 1.30-1.32 sys/dev/usb/if_axe.c 1.103-1.119 sys/dev/usb/if_axen.c 1.51-1.53,1.55-1.67 sys/dev/usb/if_axenreg.h 1.15 sys/dev/usb/if_cdce.c 1.54-1.67 sys/dev/usb/if_cue.c 1.85,1.86 sys/dev/usb/if_cuereg.h 1.23 sys/dev/usb/if_kue.c 1.97-1.100 sys/dev/usb/if_kuereg.h 1.23,1.24 sys/dev/usb/if_mue.c 1.51-1.55 sys/dev/usb/if_muereg.h 1.6 sys/dev/usb/if_muevar.h 1.9 sys/dev/usb/if_smsc.c 1.46-1.61 sys/dev/usb/if_smscreg.h 1.6 sys/dev/usb/if_smscvar.h delete sys/dev/usb/if_udav.c 1.60-1.71 sys/dev/usb/if_udavreg.h 1.14,1.15 sys/dev/usb/if_upl.c 1.65,1.66 sys/dev/usb/if_ure.c 1.15-1.31 sys/dev/usb/if_urevar.h 1.4,1.5 sys/dev/usb/if_url.c 1.67-1.70 sys/dev/usb/if_urlreg.h 1.14 sys/dev/usb/if_urndis.c 1.22-1.33 sys/dev/usb/if_urtwn.c 1.72 sys/dev/usb/ohci.c 1.290 sys/dev/usb/uhub.c 1.143 sys/dev/usb/usb.c 1.180 sys/dev/usb/usb.h 1.118 sys/dev/usb/usb_mem.c 1.71 sys/dev/usb/usb_subr.c 1.238,1.239 sys/dev/usb/usbdevs 1.772 sys/dev/usb/usbdi.c 1.183,1.186 sys/dev/usb/usbdi.h 1.97 sys/dev/usb/usbdi_util.c 1.75 sys/dev/usb/usbhist.h 1.5,1.6 sys/dev/usb/usbnet.c 1.1-1.24 sys/dev/usb/usbnet.h 1.1-1.14 sys/dev/usb/usbroothub.c 1.9 sys/dev/usb/xhci.c 1.109,1.110 sys/modules/Makefile 1.223 sys/modules/usbnet/Makefile 1.1
usbnet(9): Add common framework for USB network devices. This bring various safety fixes to all updated drivers, and includes locking clean up, detach safety when being used or not, separate rx/tx locks to improve performance, porting to NET_MPSAFE, many edge/error case bugs in drivers fixed, as well as resovling PRs 54303 and 54308. These drivers are converted: axe(4), axen(4), aue(4), cdce(4), cue(4), kue(4), mue(4), smsc(4), udav(4), upl(4), ure(4), url(4), and urndis(4).
|
1.75.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|