IABSD.fr/src/sys/dev/usb

Branch :


Log

Author Commit Date CI Message
478746b0 2020-08-17 04:26:57 Fix typo in comment From Paul de Weerd
f232436a 2020-08-06 14:06:12 Remove duplicate comment. ok mpi@
fd07ab7e 2020-08-04 14:45:46 Pack multiple packets into one xfer as possible. Given this is a 5x-7x TX improvement. It's all Jonathon's code so assert his copyright. Submitted by Jonathon Fletcher. Tested by jcs@, Mikolaj Kucharski, Jonathon Fletcher and myself. ok jmatthew@
8260c3e1 2020-08-03 14:25:56 sync
11206926 2020-08-03 14:25:44 Gear Head keyboard IDs, from Tom Murphy
18f4917e 2020-07-31 19:27:57 In xhci_device_isoc_start() do first check if the transfer is in-progress before we do check for the pipe being halted. This fixes some kind of race condition for isoc devices during device close when xp->halted gets set while usbd_start_next() still tries to dequeue in-progress transfers which will report 'usbd_start_next: error=13' (USBD_IOERROR). ok mpi@
f88cb03e 2020-07-31 10:49:32 Nuke all occurrences of usbd_abort_pipe() if it gets called right before usbd_close_pipe(), since usbd_close_pipe() already takes care about aborting non-empty pipes. As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe() to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards. ok gerhard@
e0baa5bd 2020-07-29 23:56:42 Don't turn on SDEV_DB* flags via UDMASS_UPPER. If you want SCSI debug output, ask for it the normal way. Less surprising and more effective, since you have to specify SCSIDEBUG/_BUS/_TARGET/_LUN separately anyway.
ef552c2e 2020-07-29 16:37:12 Don't nest a enum declaration inside a struct declaration, and anyway since the enum isn't tied to the type (because want smaller storage) is better to use #define ok kettenis mglocker
1032f1e6 2020-07-28 15:58:45 Fix a problem related to isochronous transfers appearing in certain constellations resulting in bogus frame sizes being returned by xhci(4). E.g. for uvideo(4) devices erroneous video streams were reported. The problem occurs when multi-trb TDs are queued and being processed as a zero-length or short transfer. Those cases were not handled in the current isochronous code path, which this patch is adding. Feedback and testing done by many on tech@. Thanks! ok mpi@
7380a3a4 2020-07-22 13:16:04 Nuke unused struct scsi_link members of adapter softc's where the driver successfully compiles on one or more of amd64, i386, hppa.
3941079e 2020-07-22 11:13:20 regen
893f5127 2020-07-22 11:12:40 add Intel AX200 Bluetooth
23293512 2020-07-22 02:16:01 deprecate interface input handler lists, just use one input function. the interface input handler lists were originally set up to help us during the intial mpsafe network stack work. at the time not all the virtual ethernet interfaces (vlan, svlan, bridge, trunk, etc) were mpsafe, so we wanted a way to avoid them by default, and only take the kernel lock hit when they were specifically enabled on the interface. since then, they have been fixed up to be mpsafe. i could leave the list in place, but it has some semantic problems. because virtual interfaces filter packets based on the order they were attached to the parent interface, you can get packets taken away in surprising ways, especially when you reboot and netstart does something different to what you did by hand. by hardcoding the order that things like vlan and bridge get to look at packets, we can document the behaviour and get consistency. it also means we can get rid of a use of SRPs which were difficult to replace with SMRs. the interface input handler list is an SRPL, which we would like to deprecate. it turns out that you can sleep during stack processing, which you're not supposed to do with SRPs or SMRs, but SRPs are a lot more forgiving and it worked. lastly, it turns out that this code is faster than the input list handling, so lots of winning all around. special thanks to hrvoje popovski and aaron bieber for testing. this has been in snaps as part of a larger diff for over a week.
e5eae15d 2020-07-20 14:41:12 Move remaining scsi bus initialization info from "prototype scsi link" fields to struct scsibus_attach_args. Nuke the struct scsi_link * (saa_sc_link) in scaibus_attach_args. Explicitly initialize each field in scsibus_attach_args variables.
ead808c4 2020-07-19 18:57:57 Move the adapter related items (luns, adapter, adapter_target, adapter_buswidth, adapter_softc) from struct scsi_link to struct scsibus_attach_args. Additional compile tests by jmatthew@ (sparc64) and aoyam@ (luna88k).
0b29cb40 2020-07-16 21:18:29 Access adapter softc via link->bus->sb_adapter_softc. In sparc64 autoconf access 'luns' via sb_luns and 'adapter_buswidth' via sb_adapter_buswidth. Removes last post-config uses of the copies of bus related information in scsi_link.
86e3bb8a 2020-07-13 08:31:32 When athn(4) is deciding how to decrypt an incoming frame, look into the ieee80211_node data structure to find the WPA group cipher which was negotiated with the peer, rather than checking the wireless interface's configuration data. Found while investigating a problem where WPA2+TKIP wasn't working with athn. Problem reported by Tim Chase.
51b504e0 2020-07-11 14:48:53 Build 'flags' in intermediate variable and shuffle sc_link initialization closer to config_found() invocation.
e803e20a 2020-07-11 13:34:05 Expunge some Captain Obvious comments, tweak whitespace a bit, move a debug statement. All to make upcoming diff(s) smaller and easier to read.
0cae21bd 2020-07-10 13:26:36 Change users of IFQ_SET_MAXLEN() and IFQ_IS_EMPTY() to use the "new" API. ok dlg@ tobhe@
63bcfa73 2020-07-10 13:22:19 Change users of IFQ_DEQUEUE(), IFQ_ENQUEUE() and IFQ_LEN() to use the "new" API. ok dlg@ tobhe@
dd69d388 2020-07-06 10:38:54 match on D-Link DWA-121 rev B1 from Miguel Landaeta
a705a461 2020-07-06 10:36:19 regen
10a7bd13 2020-07-06 10:35:42 add D-Link DWA-121 rev B1 from Miguel Landaeta
6c07c68e 2020-07-05 11:47:50 uvideo_querycap(): Set the 'device_caps' field of struct v4l2_capability like done in utvfu(4) Fixes webcam detection in firefox 78, where code was added to check for V4L2_CAP_VIDEO_CAPTURE capability on 'device_caps', whereas we only set it in the 'capabilities' field. According to https://www.kernel.org/doc/html/v4.14/media/uapi/v4l/vidioc-querycap.html#description those distinct fields are here for drivers that provide several devices, but firefox decided to check for 'device_caps' field instead of 'capability' (cf https://hg.mozilla.org/integration/autoland/rev/33facf191f23) - so fill the field for compatibility reasons, while https://bugzilla.mozilla.org/show_bug.cgi?id=1650572 discusses with upstream what's the right way. ok mglocker@
df3da441 2020-07-05 07:47:32 Fix mbuf leak in urtwn(4) with frames that are CCMP-crypted in hardware. Problem reported and fix tested by Bastian Wessling on bugs@ ok jmatthew@
f748d231 2020-06-30 10:21:59 When a transfer times out, the TRB should be aborted, too. But still the completion interrupt may already be pending while aborting. Hence, in xhci_event_command() ignore events from a TRB that is not the expected one. And don't let xhci_abort_command() yield the CPU. ok mpi@
382c0517 2020-06-27 17:28:58 Nuke trailing whitespace.
a7997e14 2020-06-27 14:29:44 No need to bzero()/memset() 'struct scsibus_attach_args' variables immediately before initializing the only field in the struct.
3209772d 2020-06-24 22:03:40 kernel: use gettime(9)/getuptime(9) in lieu of time_second(9)/time_uptime(9) time_second(9) and time_uptime(9) are widely used in the kernel to quickly get the system UTC or system uptime as a time_t. However, time_t is 64-bit everywhere, so it is not generally safe to use them on 32-bit platforms: you have a split-read problem if your hardware cannot perform atomic 64-bit reads. This patch replaces time_second(9) with gettime(9), a safer successor interface, throughout the kernel. Similarly, time_uptime(9) is replaced with getuptime(9). There is a performance cost on 32-bit platforms in exchange for eliminating the split-read problem: instead of two register reads you now have a lockless read loop to pull the values from the timehands. This is really not *too* bad in the grand scheme of things, but compared to what we were doing before it is several times slower. There is no performance cost on 64-bit (__LP64__) platforms. With input from visa@, dlg@, and tedu@. Several bugs squashed by visa@. ok kettenis@
7dc23369 2020-06-24 09:43:20 Acknowledge xhci(4) interrupts before calling usb_schedsoftintr(). On powerdown (halt -p), sd(4)'s suspend function tries to powerdown a USB mass storage using a STOP command. In that case we are already cold and splhigh(), so that the xhci is supposed to run in polling- mode. usb_schedsoftintr() behaves differently when running in polling-mode. Instead of scheduling a soft interrupt, it immediately dequeues from the event queue. But dequeueing means touching the xhci registers. Apparently we need to acknowledge the interrupts before touching those registers, the hardware doesn't like it otherwise and we will never get an interrupt status for the second transfer. ok gerhard@
dcc282be 2020-06-24 07:46:10 Apply sc->sc_xfer_flags to control transfers as well. These are used so that in polled-mode the USB transfers are marked synchronous. In case that sending commands to the USB mass storage fails, the control transfers are used to reset the device. Without the synchronous flag, the STOP command sent by sd(4) on powerdown would wait for completion indefinitely, possibly hanging the machine. ok gerhard@
5d260a37 2020-06-22 15:54:55 Blacklist Ericsson F5521gw broadband modem. ok sthen@
6cb24dcf 2020-06-22 15:52:39 regen
15c57f11 2020-06-22 15:49:37 Add Ericsson F5521gw Mobile Broadband Modem. ok sthen@
6ada4dc5 2020-06-17 23:43:08 Fix broken HID descriptors of Elecom trackballs. The report descriptors specify an invalid button count for models with 6 or 8 buttons. Thanks to Sivaram Gowkanapal, who provided the core of this patch. ok mpi@
62f8c43a 2020-06-16 09:41:21 Release the rx node if we were unable to allocate a new rx buffer. The node here is always ic_bss, for which the reference count isn't actually used (it's always freed when the interface detaches), so not releasing it in this case wasn't really a problem. ok stsp@
bf787e1b 2020-06-11 16:00:10 When detaching uaudio, wait for device ref counter to drop to 0 To maintain the correct refs count, blocking calls to uaudio are wrapped in usbd_ref_incr() and usbd_ref_decr() calls. suggested by mpi@ and ok visa@
a299d652 2020-06-11 00:56:12 Make use of hardware crypto for CCMP. The tricky bits had been lying dormant in the driver for years, we just needed to insert the IV before transmission and do packet number checks on received frames. tested by kevlo@ solene@ benno@ and me on a variety of hardware ok kevlo@ stsp@
4ced949b 2020-06-09 07:43:39 Do not call encap routines with the IFQ mutex held, as they might sleep in the stop routine in case of errors. Fix proposed by mpi@, ok patrick@
de1eb137 2020-05-31 18:15:36 add umstc(4) for Microsoft Surface Type Cover keyboards
347e1698 2020-05-31 18:12:28 regen
cf1e3fde 2020-05-31 18:12:04 add two Surface Go Type Cover models
23b0dfe4 2020-05-30 09:01:04 Fix UVIDEO_DEBUG build Include sys/proc.h to address following errors: /usr/src/sys/dev/usb/uvideo.c:2901:31: error: incomplete definition of type 'struct proc' vn_close(nd.ni_vp, FWRITE, p->p_ucred, p); ~^ /usr/src/sys/sys/types.h:223:8: note: forward declaration of 'struct proc' struct proc; ^ /usr/src/sys/dev/usb/uvideo.c:2925:40: error: incomplete definition of type 'struct proc' UIO_SYSSPACE, IO_APPEND|IO_UNIT, p->p_ucred, NULL, p); ~^ /usr/src/sys/sys/types.h:223:8: note: forward declaration of 'struct proc' struct proc; ^ 2 errors generated. ok mpi@
c8f27247 2020-05-29 04:42:23 dev/rndvar.h no longer has statistical interfaces (removed during various conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
018f6d9c 2020-05-26 06:04:30 match on TP-Link TL-WN822N-EU v5 from Tero Koskinen
cc9db588 2020-05-26 06:03:39 regen
5a02ddc9 2020-05-26 06:03:12 add TP-Link TL-WN822N-EU v5 from Tero Koskinen
4b3a329d 2020-05-25 12:46:06 regen
136c2f67 2020-05-25 12:45:56 ThingM blink(1)
e0c3e559 2020-05-25 09:55:47 change wsdisplay attribute type from long to uint32_t miod explained it was initially a long as it was thought drivers may need to allocate storage but in practice they don't need more than 32 bits for an attribute. suggested and reviewed by miod@
fc223b23 2020-05-25 06:45:25 rename wsdisplay alloc_attr() to pack_attr() Suggested by John Carmack. miod agrees a rename would make sense and explained it was initially thought drivers may need to allocate storage but in practice they don't need more than 32 bits for an attribute. ok mpi@
a9ad0377 2020-05-13 08:13:42 Use seltrue_kqfilter() instead of hand-rolling it in multiple drivers. ok visa@
9a98c5c8 2020-05-04 19:19:26 Remove redundant code testing if a terminal is a usb stream. Fixes coverity CID 1492830. ok sthen, deraadt
5edbfb72 2020-05-04 14:41:03 Check v6 availablilty mask instead of v4. go for it deraadt@
b8ce11e9 2020-04-30 12:45:52 If there's only one input (output) name it simply "input" ("output") Besides making things simpler, this allows libsndio to figure out that this is a control affecting all inputs (outputs) that needs to be exposed.
80367ca9 2020-04-30 12:43:32 Use "inputs" class instead of "record" There's no reliable way to decide whether a control must belong to "inputs" or to "record". In other words both classes were used for the same thing. Furthermore we've no "play" class which tends to make things more confusing.
11127496 2020-04-30 12:41:39 Use "dac" instead of "play" in mixer control names All other drivers use "dac" and libsndio needs the control name to be "dac" for the control to be exposed.
949d8d6b 2020-04-30 12:38:36 Set terminal and clock names after all units are parsed Makes the code simpler and more flexible as the naming is done in a single place where the full units list is available.
6be69a04 2020-04-30 12:35:22 Use macros instead of hardcoded "play" and "record" string constants No object change.
24784047 2020-04-27 11:16:51 IPv6 is no longer on by default. It must be enabled with "inet6 eui64". Input from sthen@, ok claudio@
ff1dd4b7 2020-04-27 08:21:34 Offload CCMP (WPA2) encryption and decryption to athn(4) hardware. This reduces CPU load during traffic bursts, which is especially noticeable on boards with relatively slow CPUs such as Alix and APU. For reference, my rcc-ve boards (Intel Atom C2558) now forward ~2000pps between Ethernet and wifi with <= 1% CPU interrupt time according to systat. Beforehand, these boards became noticeably less responsive with fairly high interrupt and spin %. CCMP offload is used on both PCI and USB devices (thanks kevlo@ for catching my omission of USB devices in the first iteration of this change!) Tested by (at least) Kevin Chadwick, tracey@, kevlo@, kili@, Ted Patterson, David Dahlberg, and Scott Bennett. ok tracey@ kevlo@
3ad22624 2020-04-24 21:36:06 Skip "all-channels" controls if there are equivalend per-channel ones Hardware may expose per-channel controls and equivalent ones affecting all channels, which is redundant. In this case expose only the per-channel ones as they are more flexible.
5b3e88dd 2020-04-24 21:34:00 Suffix per-channel non-numeric controls with channel number The audio(9) mixer API can't represent such per-channel controls with a single entry, so we've to expose one mixer entry (with an unique name) per control. Fixes name clashes on usb audio devices with per-channel mute controls.
c700b3c9 2020-04-08 09:49:32 Bump size of the buffer we use to fetch device tree properties. The ethernet aliase paths in the new omap device trees are longer than 64 characters. Fixes the MAC address on Pandaboard-ES with the new device tree. ok jsg@
9c969c9a 2020-04-07 13:27:50 Abstract the head of knote lists. This allows extending the lists, for example, with locking assertions. OK mpi@, anton@
5343ff5a 2020-04-03 20:11:47 Move the responsibility of syncing the data buffers from the USB stack into the USB controller driver, since not all of the xfers actually use DMA and some invalidations might even be harmful. The important part is to sync before handing the buffer to the controller, and to sync on a successful transfer before handing it back to the USB stack. For isoc transfers it's easier to sync the complete length of the transfer, since the buffer to flush is not filled in a contiguous fashion. For dwc2 there's a common point which takes care of the start of transfers from or to devices, where we can make sure that our buffers are synced. On completion, there's a common point before handing it off to the USB stack. For ehci there are three places which take care of the start of transfers from or to devices, where one already does the sync, while the two other places still need the sync. There are two completion handler (isoc and non-isoc), where one already has a comment asking for the need of a sync. The done handler for intr xfers does a sync that is not needed anymore after adding the sync in the completion handler. For ohci there are three places which take care of the start of transfers from or to devices, where all of them were still in need of the sync. For completion, there is one place for isoc xfers and two places for handling successful generic xfers. For uhci there are two places which take care of the start of transfers from or to device, where all of them were still in need of the sync. For completion, there is one handler for both isoc and non-isoc xfers where syncs need to occur. For xhci there are three places which take care of the start of transfers from or to device, where all of them were still in need of the sync. For completion, there is one handler for isoc and one for non-isoc xfers where syncs need to occur. With this we can revert the workaround that implicitly allocated buffers are COHERENT, since now control transfers fulfilled by the driver code (instead of the controller doing DMA) are not flushed into oblivion anymore. Tested by Janne Johansson with dwc2 (octeon) Tested by kettenis@ with xhci(4) (octeon) Tested by patrick@ with ehci(4) on a Cubox-i (armv7) Tested by patrick@ with xhci(4) on an i.MX8MQ (arm64) Tested by tobhe@ with dwc2 on a rPi 3b (arm64) ok kettenis@
494e3bdd 2020-04-03 08:24:52 Fix incoherencies of errors returned by various *kqfilter routines. EOPNOTSUPP is returned when there's no "filterops" for a given fd. EINVAL when the requested filter isn't supported by the "filterops". ENXIO means the underlying device is no longer valid/present. ok visa@
97266d23 2020-04-02 17:36:32 Fix use-after-free zyd(4) upon Tx error and device detach. If a transmit error occurs in zyd_tx() we must reset tx data's ni pointer to NULL since the node reference will be released in zyd_start(). A stale node pointer could potentially be released again which would mess up the node's reference count and potentially result in a use-after-free. Upon detach, ic->ic_bss was freed in ieee80211_ifdetach(), and afterwards ic->ic_bss->ni_refcnt was decremented in zyd_free_tx_list(). Change the order of operations during detach to prevent this use-after-free. Reported on bugs@ by Raf Czlonka ok mpi@
997c3aea 2020-04-01 08:43:33 USB control requests to the root hub differ from those to devices. For devices we have proper DMA transfers, so that the DMA syncs before and after transfers are necessary. For the root hub, we seem to fulfill those requests ourselves, e.g. by using memcpy. The POSTREAD DMA sync on a read will invalidate the caches for the buffer, and unless our root hub code explicitly flushed the data to memory, it's possible that our memcpy got removed from history. Until a better solution is implemented, like moving the DMA syncs from the USB subsystem into the controller driver, allocate all buffers that are not explicitly allocated using USB_DMA_COHERENT. The IO buffers continue to be allocated as non-coherent. Regression found by jsg@ ok kettenis@
12987653 2020-03-30 22:29:04 No point in checking the loop variable for NULL inside a LIST_FOREACH. CID 980279
8939d5a0 2020-03-23 17:10:02 If samples per frame is larger than the device usb packet size, fail early in uaudio(4). This prevents negative safe_blksz and integer overflow in nframes_max in case of a bad call to uaudio_stream_open() or a hardware bug. OK ratchov@
28e00756 2020-03-23 14:53:51 If an USB audio device supports less rates for recording than for playing, the uaudio(4) driver selected a wrong rate. Then recording failed with "block size too large". The v1_rates field of the parameters contains the correct intersection of valid rates. Use it for v1 devices. OK ratchov@
c28d999f 2020-03-21 12:08:31 Instead of passing the flags as part of a struct that's supposed to be filled by the callee, change the usb_allocmem() API to take another argument for the flags. ok mpi@
59570397 2020-03-19 14:18:38 Switch USB to use non-coherent buffers for data transfers. Since the import in '99 all buffers allocated using usb_allocmem() have been mapped COHERENT. On some ARM SoCs, where the USB controller is not coherent with the caches, this means the buffers were mapped uncached. This drastically reduces the performance, especially on reads. We already added cache syncs before and after USB transfers, but so far those have essentially been no-ops. Since other drivers make use of the same allocation code, and those haven't been proven to have correct syncs, we can't just remove the COHERENT flag. This splits the allocation into coherent and non-coherent blocks. All drivers who call usb_allocmem() themselves now pass a flag to show they require coherent blocks. Onced verified that they also work fine without coherent, or once they have been refactored, we can remove this again. On a ure(4) connected to an i.MX8MQ, the receive performance is 10x as fast as before. The Raspberry Pi's ethernet receive speed doubled. Debugged using dt(4) Original diff from Marius Strobl Feedback from kettenis@ Tested on an i.MX8MQ (arm64) by patrick@ Tested on a Raspberry Pi (arm64) by tobhe@ Tested on an ERL (octeon) by Janne Johansson ok mpi@ gerhard@ tobhe@
739356a6 2020-03-17 09:34:52 Prevent out-of-bound read if `rate' doesn't match known values. CID 1453258 ok kettenis@
7a626280 2020-03-16 16:12:43 Prevent a NULL derefence in alloc_all_endpoints_fixed_ep() when no IO endpoints were found. Coverity CID 1453263, 1453156 Check return value of usbd_interface2endpoint_descriptor() in alloc_all_endpoints_yamaha() as it may return NULL which ends up being dereferenced by the UE_GET_XFERTYPE() macro. Coverity CID 271356 ok ratchov@
f9a1d300 2020-03-16 13:17:17 Remove unused function argument. CID 1453335.
3427a8ab 2020-03-11 13:04:02 Remove dead code which is actually duplicated a few lines above right after err is set. Coverity CID 975917 ok kettenis@ kn@
be43c06a 2020-03-10 01:11:58 sync
6821c7bb 2020-03-10 01:11:30 Match on Lenovo OneLink Plus Dock Ethernet. Tested by David Demelier
259cb5a2 2020-03-08 19:24:15 Rework ucom(4) a bit. The logic of RTS follows DTR should only be done when the port is initialized (with a tcsetattr() call) but not on every changed of DTR (especially those caused by other tty ioctls). Fixes firmware upload on various microcontroller boards that use DTR and RTS as signaling lines to reset the device and enter the bootloader. Tested by tracey@, OK deraadt@
306edf26 2020-03-07 15:18:48 Fix use of uninitilized variable in case of emty AC descriptor. USB audio devices with empty AC descriptor (i.e. emtpy devices) don't exist as they would be of no use. So this fix is mostly to properly skip broken hardware. Found by coverity.
df3c00e8 2020-03-02 16:30:39 Fix endian swapping of trb_flags and trb_status in xhci(4). This corrects computation of xfer->actlen, allowing xhci(4) to work again on octeon and other big endian architectures. Reported by Allen Smith OK patrick@
b0a4640c 2020-02-28 12:13:55 Treat non-0 value as true for boolean indicators. Makes sensorsd(8) happy with UPS reporting a value of "-1" for true. Reported by and initial diff from Boudewijn Dijkstra.
c1e93609 2020-02-28 08:52:54 Allow devices with incomplete feature unit descriptor to attach. Certain devices (like the AudioQuest DragonFly Red) don't provide the per-channel control bitmaps in the feature unit descriptor. Make this part of the descriptor as optional. With help from Claus <claus at mailbox.org>, thanks.
6f241297 2020-02-25 14:24:58 Make bwfm(4) call if_input() only once per interrupt. This reduces drops caused by the ifq pressure drop mechanism and hence increases throughput. ok tobhe@
cc1678f7 2020-02-25 10:03:39 Prevent buffer overflows by not assuming the report length, given by the hardware, is necessarily smaller than the length of the on-stack buffer. Original fix from Maxime Villard in NetBSD via deraadt@.
12ff4fa6 2020-02-23 11:52:44 regen
5293efe2 2020-02-23 11:52:10 - add an AMD hub found on APU2 - add Synaptics vendor id and two fingerprint readers feedback and ok jsg@
f74c7769 2020-02-22 14:01:34 use the UE_GET_XFERTYPE macro where applicable ok mpi@
b8213689 2020-02-20 16:56:51 Replace field f_isfd with field f_flags in struct filterops to allow adding more filter properties without cluttering the struct. OK mpi@, anton@
e61a622d 2020-02-18 08:09:37 Add IPv6 support to umb(4). ok job@ bluhm@ claudio@ job@ tested with 'telnet -6 towel.blinkenlights.nl' on Fibocom L831-EAU on IIJ MIO's network (Japan), with 'inet6 autoconf' in /etc/hostname.umb0.
a51ea3e3 2020-02-17 19:29:55 missing rcs id
3f9f024d 2020-02-14 14:55:30 Prevent buffer overflows by not assuming the report length, given by the hardware, is necessarily smaller than the length of the on-stack buffer. Original fix from Maxime Villard in NetBSD via deraadt@. Tested by matthieu@
1fc21ade 2020-02-13 18:19:07 replace incorrect function name in error message with __func__
f4b58f5a 2020-02-13 15:11:32 Nuke *_minphys() functions that either simply apply MAXPHYS or do nothing at all. MAXPHYS will be applied in minphys() and nothing at all, well, doesn't do anything. Also remove any '#define <blah> MAXPHYS' statements used solely to disguise MAXPHYS in said functions.
83739621 2020-02-05 16:01:32 Very old firmware umsm devices don't work as umb(4), so I made them work as umsm(4). But the discrimination in the driver match functions is obviously weak in some way, so skip this for now. We need to figure out how to identify the retrogrades better.
c2ed1e85 2020-02-05 14:26:26 Fix confusion between minimum and maximum samples-per-frame. This may fix rare stuttering caused by underruns in case device clock drifts with respect to the bus clock.