| Commit message (Collapse) | Author | Files | Lines |
|
The IP_HDR and MH_SIZE fields represent byte offsets into the frame, rather
than flags. Make these macros require a parameter to prevent them from being
misunderstood as flag bits.
In iwlwifi these are defined via an enum, with most values being used as
parameters to BIT(). Yet these IP and MH ones are actually used to shift
length values to particular positions within the offloading parameters
of the Tx command.
Fortunately, these macros aren't used yet in our version of the driver.
|
|
Add declarations of "version 2" scan flags from iwlwifi and prepare the
iwx_scan_channel_cfg_umac struct for life beyond version 1.
None of this is needed yet. But we will need this at some point and I've
already written the diff, hoping it would prevent firmware errors (which
of course it didn't).
|
|
Compared to iwm(4) devices the BE and BK fifo numbers have been swapped
in iwx(4) hardware. This has no real consequences for us since we send
all frames at the same access category, but I'm fixing the mapping anyway.
|
|
The driver will turn the device off and print a message to dmesg if the
firmware signals critical temperature. It looks like the firmware will
also make use of a Tx-backoff mechanism to regulate device temperature.
|
|
Firmware will add SSIDs specified via the scan command to its probe requests.
There is no need to copy an SSID into the template.
This code path is not used yet because active scanning mode is still
disabled in this driver.
|
|
The data structure for the scan command contains a union which represents
various versions of the scan command. The driver wrote to the scan_priority
field in version 1 data regardless of the scan command version actually
expected by firmware.
Perform that write only for scan command version 1, as intended.
Testing suggests that this prevents occasional firmware errors during scans.
|
|
template.
This code path is not used yet because active scanning mode is still
disabled in this driver.
ok kn@
|
|
|
|
|
|
Move log level to debug for that case and while there correct the
string, we're reding, not writing.
|
|
example HTML/JS to generate webauthn signatures in SSH formats
(also used to generate the testdata/* for the test).
|
|
standard for using FIDO keys in web browsers. webauthn signatures are
a slightly different format to plain FIDO signatures - this support
allows verification of these. Feedback and ok markus@
|
|
for FIDO webauthn signature verification support; ok markus@
|
|
reading vpd stuff is useful when you're trying to get support
information about a pci device, eg, if you want a serial number,
or firmware versions, or specific part name or number, it's likely
available via vpd. also, im sick of having the diff in my tree.
this relies on the new PCIOCGETVPD ioctl i just committed to the
kernel.
it's a very quick and dirty implementation, hopefully someone will
pick it up and polish it a bit.
tested by hrvoje popovski on a variety of cards
ok jmatthew@
|
|
|
|
|
|
|
|
matches how the interfaces are documented
|
|
reading vpd stuff is useful when you're trying to get support
information about a pci device, eg, if you want a serial number,
or firmware versions, or specific part name or number, it's likely
available via vpd. also, im sick of having the diff in my tree.
the vpd info is not accessed as bytes read from a capability, but
is read via a register in the capability. the same register also
supports updating or writing vpd info, which sounds like a bad idea
to let userland have raw access to.
this adds an ioctl so that userland can ask the kernel to read via
the vpd register on its behalf. this ensures that the only access
is read access, and it's sanity checked.
tested by hrvoje popovski on many devices.
ok jmatthew@
|
|
livelock detection used to rely on code running at softnet blocking
the softclock handling at a lower interrupt priority level. if the
hard clock interrupt count diverged from one kept by a timeout, we
assumed the network stack was doing too much work and we should
apply backpressure to the receptions of packets.
the network stack doesnt really block timeouts from firing anymore
though. this is especially true on MP systems, because timeouts
fire on cpu0 and the nettq thread could be somewhere else entirely.
this means network activity doesn't make the softclock lose ticks,
which means we aren't scaling rx ring activity like we think we
are.
the alternative way to detect livelock is when a driver queues
packets for the stack to process, if there's too many packets built
up then the input routine return value tells the driver to slow
down. this enables finer grained livelock detection too. the rx
ring accounting is done per rx ring, and each rx ring is tied to a
specific nettq. if one of them is going too fast it shouldn't affect
the others. the tick based detection was done system wide and
punished all the drivers.
ive converted all the drivers to the new mechanism. let's see how
we go with it.
jmatthew@ confirms rings still shrink, so some backpressure is being
applied.
|
|
|
|
this is a step toward deprecating softclock based livelock detection.
|
|
this is a step toward deprecating softclock based livelock detection.
|
|
this is a step toward deprecating softclock based livelock detection.
kettenis@ tested fec(4) on armv7 and dwge(4) on arm64
jmatthew@ tested dwxe(4) on armv7 and noted rings shrinking under load.
|
|
naddy gave me a pointer in the right direction
ok millert@ deraadt@
looks good to matt dunwoodie
|
|
|
|
ok deraadt@
|
|
|
|
ok gkoehler@
|
|
Inject a pending interrupt even if the rcv_pending flag is set to avoid the
endless EV_READ loop where a byte lingers read to be read but the vcpu never
gets the interrupt to read it. (e.g. the result of spamming RETURN via the
serial console)
Also, protect com ratelimit handler with mutexes to avoid corruption of the
device state.
These changes help preventing linux vm crashes when the return key is held on
boot.
Discovered by and patch from Dave Voutila <dave@sisu.io>
ok tb@
|
|
improvements:
- Remove strain pixel on the '5' digit (5x8 version)
- Improve the Esszet character (8x16, 12x24, 16x32, and 32x64 versions)
|
|
|
|
pmap_ptedinhash().
|
|
|
|
ok kn gsoares
|
|
tweak adapter_target and adapter_buswidth values to provide desired
semantic of providing only target 0/lun 0 device per vioblk(4) device.
Tested by sf@
|
|
Linux kernel code often passes errors around as negative numbers cast to
pointers. As rw_enter() returns a errno on failure
mutex_lock_interruptible() negated the return value. But this did not
account for ERESTART being -1 which would return 1 to the caller.
sthen@ periodically hit a uvm_fault() in i915_request_create() which
was caused by attempting to use 1 as a pointer.
ok kettenis@
|
|
|
|
to commit it...
|
|
|
|
|
|
|
|
page.
|
|
|
|
|
|
i think ive tempted fate enough for one day.
|
|
from Matt Dunwoodie and Jason A. Donenfeld
ok deraadt@
|
|
the mandoc linter is upset about "An Jason A. Donenfeld", but i'm
hoping ingo or jmc will fix it for me :)
From Matt Dunwoodie
ok deraadt@
|
|
note that this links ifconfig with libcrypto to get at base64
encoding and decoding routines. im looking at an alternative way
to do that, so hopefully this is temporary.
secondly, note that all the wireguard stuff is under ifndef SMALL,
so the special build of ifconfig for install media does include
wireguard support, and also does not need libcrypto.
from Matt Dunwoodie and Jason A. Donenfeld
ok deraadt@
|
|
|