History log of /netbsd-current/sys/dev/usb/ualea.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.19 20-Mar-2022 riastradh

ualea(4): Enter the data under the softc lock.

This avoids a race with a concurrent ualea_get updating sc_needed,
which could lead to hang when requesting more entropy.

ualea(4) now survives

sysctl -w kern.entropy.depletion=1
cat </dev/random >/dev/null &
cat </dev/random >/dev/null &

without hanging for longer (even if yanked and reinserted in the
middle, although the detach path is not relevant to the bug this
change fixes).


# 1.18 20-Mar-2022 riastradh

ualea(4): Simplify xfer error branches.

- Avoid going into a loop in case the transfer fails repeatedly --
just give up immediately if it fails.

- Assert result size is reasonable; no need to assume usbdi(9) is
malicious. If it can return ux_actlen > ux_length, that's a bug in
usbdi(9) that we should fix.


# 1.17 20-Mar-2022 riastradh

ualea(4): Fix detach and error paths.

- Set sc_needed before aborting the pipe to prevent the xfer callback
from rescheduling itself.

- Make sure all paths out of the xfer callback clear sc_inflight.

While here, use device_printf instead of aprint_* after attach.

Now my system survives repeated insertion and yanking of ualea(4)
during:

sysctl -w kern.entropy.depletion=1
cat </dev/random >/dev/null


# 1.16 19-Mar-2022 riastradh

rnd(9): Adjust IPL of locks used by rndsource callbacks.

These no longer ever run from hard interrupt context or with a spin
lock held, so there is no longer any need to have them at IPL_VM to
block hard interrupts. Instead, lower them to IPL_SOFTSERIAL.


# 1.15 03-Mar-2022 riastradh

usb: usbd_close_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


# 1.14 03-Mar-2022 riastradh

usb: usbd_abort_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
# 1.13 29-May-2021 riastradh

ualea(4): Null suspend/resume handler.


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.12 13-Jul-2020 simonb

branches: 1.12.6; 1.12.8;
Set up the USB xfer for every transfer, not just once in the attach
function. Caught by DIAGNOSTIC on a similar driver. Thanks to phone@
for USB xfer clue and martin@ for testing.


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

branches: 1.9.10;
PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.19 20-Mar-2022 riastradh

ualea(4): Enter the data under the softc lock.

This avoids a race with a concurrent ualea_get updating sc_needed,
which could lead to hang when requesting more entropy.

ualea(4) now survives

sysctl -w kern.entropy.depletion=1
cat </dev/random >/dev/null &
cat </dev/random >/dev/null &

without hanging for longer (even if yanked and reinserted in the
middle, although the detach path is not relevant to the bug this
change fixes).


# 1.18 20-Mar-2022 riastradh

ualea(4): Simplify xfer error branches.

- Avoid going into a loop in case the transfer fails repeatedly --
just give up immediately if it fails.

- Assert result size is reasonable; no need to assume usbdi(9) is
malicious. If it can return ux_actlen > ux_length, that's a bug in
usbdi(9) that we should fix.


# 1.17 20-Mar-2022 riastradh

ualea(4): Fix detach and error paths.

- Set sc_needed before aborting the pipe to prevent the xfer callback
from rescheduling itself.

- Make sure all paths out of the xfer callback clear sc_inflight.

While here, use device_printf instead of aprint_* after attach.

Now my system survives repeated insertion and yanking of ualea(4)
during:

sysctl -w kern.entropy.depletion=1
cat </dev/random >/dev/null


# 1.16 19-Mar-2022 riastradh

rnd(9): Adjust IPL of locks used by rndsource callbacks.

These no longer ever run from hard interrupt context or with a spin
lock held, so there is no longer any need to have them at IPL_VM to
block hard interrupts. Instead, lower them to IPL_SOFTSERIAL.


# 1.15 03-Mar-2022 riastradh

usb: usbd_close_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


# 1.14 03-Mar-2022 riastradh

usb: usbd_abort_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
# 1.13 29-May-2021 riastradh

ualea(4): Null suspend/resume handler.


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.12 13-Jul-2020 simonb

branches: 1.12.6; 1.12.8;
Set up the USB xfer for every transfer, not just once in the attach
function. Caught by DIAGNOSTIC on a similar driver. Thanks to phone@
for USB xfer clue and martin@ for testing.


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

branches: 1.9.10;
PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.15 03-Mar-2022 riastradh

usb: usbd_close_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


# 1.14 03-Mar-2022 riastradh

usb: usbd_abort_pipe never fails. Make it return void.

Prune dead branches as a result of this change.


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
# 1.13 29-May-2021 riastradh

ualea(4): Null suspend/resume handler.


Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
# 1.12 13-Jul-2020 simonb

branches: 1.12.6; 1.12.8;
Set up the USB xfer for every transfer, not just once in the attach
function. Caught by DIAGNOSTIC on a similar driver. Thanks to phone@
for USB xfer clue and martin@ for testing.


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

branches: 1.9.10;
PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.13 29-May-2021 riastradh

ualea(4): Null suspend/resume handler.


Revision tags: cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.12 13-Jul-2020 simonb

Set up the USB xfer for every transfer, not just once in the attach
function. Caught by DIAGNOSTIC on a similar driver. Thanks to phone@
for USB xfer clue and martin@ for testing.


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

branches: 1.9.10;
PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.12 13-Jul-2020 simonb

Set up the USB xfer for every transfer, not just once in the attach
function. Caught by DIAGNOSTIC on a similar driver. Thanks to phone@
for USB xfer clue and martin@ for testing.


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

branches: 1.9.10;
PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.11 30-Apr-2020 riastradh

rnd_attach_source calls the callback itself now.

No need for every driver to explicitly call it to prime the pool.

Eliminate now-unused <sys/rndpool.h>.


# 1.10 30-Apr-2020 riastradh

Turn XXX comment into KASSERT.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.9 21-Jan-2018 skrll

PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4; 1.6.8;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.9 21-Jan-2018 skrll

PR kern/52931 Kernel panics with Atheros usb wireless interface

Audit the flags to usbd_create_xfer so that USBD_FORCE_SHORT_XFER is
supplied wherever such a transfer is setup. We can drop
USBD_SHORT_XFER_OK as it has not bearing on number of TDs


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825
# 1.8 18-Jul-2017 christos

branches: 1.8.2; 1.8.4;
don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

branches: 1.7.2;
Tidy up a bit. Fulfil requests completely.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.8 18-Jul-2017 christos

don't subtract uninitialized pktsize in error path.


Revision tags: perseant-stdc-iso10646-base
# 1.7 15-Jul-2017 riastradh

Tidy up a bit. Fulfil requests completely.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


# 1.7 15-Jul-2017 riastradh

Tidy up a bit. Fulfil requests completely.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)


Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
# 1.6 19-Apr-2017 riastradh

branches: 1.6.2; 1.6.4;
Modularize ualea(4).

Unclear why we have a separate xyz.ioconf for module and XYZ.ioconf
for rump component, but at least xyz_modcmd obviates the need for
xyz_component.c (though evidently the latter could have been replaced
anyway by RUMP_COMPONENT=ioconf in the rump component Makefile).


# 1.5 18-Apr-2017 riastradh

gson@ informs me the Alea I and II have the same USB product id.

Thus, ualea(4) should work for both of them. Rename USB product id
ARANEUS ALEA_II to ARANEUS ALEA to reflect this.

No functional change intended, except perhaps via usbdevs.


# 1.4 17-Apr-2017 riastradh

IPL_SOFTUSB suffices here to synchronize with usb xfer callback.


# 1.3 17-Apr-2017 riastradh

Follow my own locking rules.


# 1.2 17-Apr-2017 riastradh

Tweak locking rule. Fix broken unlocked rmw.


# 1.1 17-Apr-2017 riastradh

New rndsource driver for Araneus Alea II TRNG USB devices.

Disabled by default in x86/GENERIC and usbdevices.config pending
review and testing without rump ugenhc in the way, but enabled in
x86/ALL for compile-testing.

(Hi gson! Finally found a round tuit in my pocket, next to a certain
rectangular one.)