Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-9] src/sys/dev/usb



Module Name:    src
Committed By:   martin
Date:           Thu Aug 27 14:13:18 UTC 2020

Modified Files:
        src/sys/dev/usb [netbsd-9]: ugen.c usbdevices.config

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1065):

        sys/dev/usb/usbdevices.config: revision 1.41 (patch)
        sys/dev/usb/ugen.c: revision 1.152
        sys/dev/usb/ugen.c: revision 1.153
        sys/dev/usb/ugen.c: revision 1.154
        sys/dev/usb/ugen.c: revision 1.155 (patch)
        sys/dev/usb/ugen.c: revision 1.156
        sys/dev/usb/ugen.c: revision 1.157

Remove UGEN_ASLP microoptimization.
cv_signal already has this microoptimization.
While here, make the lock cover the relevant things we're issuing
cv_signal about -- progress toward real MP-safety.

Hold the lock over access to the data structures it covers.
Still not MPSAFE, but progress.

Convert DIAGNOSTIC prints to KASSERTs.

Share unit numbering for ugen and ugenif.
This way putting ugenif in kernel config actually works to wire it to
the /dev/ugenN.MM device nodes in userland.

Not a fully fleshed out solution to the ugen problem -- there's no
way for a userland driver to kick out a kernel driver and take over,
but this will let us, e.g., use uhidev(4) for Yubikey OTP/U2F/FIDO2
but ugen(4), with pcscd(8), for Yubikey CCID.

Fix various MP-safety issues while here (still not MPSAFE, but more
progress).

Expose Yubikey CCID interface to userland via ugenif.

Fix sloppy mistakes in previous.
1. Give the offset of the rbnode, not some other random members to
   overwrite with garbage.
2. Don't try to unlock a mutex at NULL.
3. Make sure all paths out after ugenif_acquire go via
   ugenif_release.

Fix ugen detach after partial attach.

While here, register null pmf handler even for partially attached
devices so they don't needlessly interfere with suspend.


To generate a diff of this commit:
cvs rdiff -u -r1.146.2.1 -r1.146.2.2 src/sys/dev/usb/ugen.c
cvs rdiff -u -r1.35.4.1 -r1.35.4.2 src/sys/dev/usb/usbdevices.config

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index