Age | Commit message (Collapse) | Author |
|
rather than always using RTS for HT protection.
|
|
needs the Chain Bit set or not instead of using the last parameter,
which is used to mark the last TRB in a USB transfer, not in a TD.
To make that work we need to setup the recently acquired TRB before
calling xhci_xfer_get_trb() the next time. Thus setting up the
initial TRB has to happen right away. To kick the transfer off we
simply flip the toggle bit on the first TRB right at the end.
Fixes regression for jcs@, dhill@ and stsp@
Initially discussed with mpi@
ok stsp@
|
|
Improves throughput and latency on 11n networks.
Tested by myself, jmc@, jcs@, phessler@, benno@
|
|
Problem noticed by jmc@
|
|
count mbuf load failures as output errors so i can see if that's
a problem (it's not, but at least i can see it isn't now).
|
|
When disabling the switch, suspending and eventually resuming again with
wifi still off, re-enabling the switch has no effect due to interrupts
being disabled completely.
To ensure seemless operation, explicitly enable interrupts during hardware
initialization iff the switch is disabled.
While here, initialize the interrupt mask up front to avoid clearing the
previously set mask in any case.
OK mlarkin, Feedback and OK ststp
|
|
|
|
at the moment there are 256 slots on the right. if rxr raises the
high watermark to 256, we overwrite ring entries.
|
|
makes m_prepend later less likely to allocate a new mbuf.
|
|
this is particularly noticable on sparc64 when you reboot.
ok jmatthew@
|
|
this should give a bit of space if the packet needs an m_pullup.
care is taken to ensure the packet is still aligned for the ip
stack.
ok and tweaks claudio@
|
|
|
|
|
|
|
|
|
|
Ask firmware to retry at a constant Tx rate instead of successively lower
rates. This provides better feedback to Tx rate scaling algorithms in our
kernel and thus increases Tx throughput, especially on clean channels.
Make the driver fall back to CCK rates on 2 GHz channels if 11n MCS
don't work. Previously, we were relying on firmware to do this for us.
Tested on 7260, 7265, 8260, 8265 by me, jcs@, tb@, solene@, Matthias Schmidt.
|
|
from the userland. Also allow changing the brightness levels so that
it can even be turned off to save power and to prevent burn in.
|
|
thus have the Link TRB inbetween must have the Chain Bit set in the
Link TRB. Otherwise xHCI controllers might think that the transfer
ends at that point.
Fixes an issue that was most prominently seen as Invalid CSW error
when using umass0 on octeon and i.MX8M.
Tested by visa@
ok mpi@
|
|
atomics were used to coordinate updates to the number of available
slots on the tx ring. start would use what was available, and txeof
(completion) would add back freed slots. start and completion
update a producer and consumer index respectively, so we can use
those with the size of the ring to calculate space instead.
while here i simplified what txeof does a fair bit, which combined
with the removal of the atomics gives us a bit of a speed improvement.
hrvoje popovski reports up to a 20% improvement in one environment,
but 5 to 10 is probably more realistic.
ive had this in a tree since 2017, but mpi's "Faster vlan(4)
forwarding?" post made me dig it out and clean it up.
ok jmatthew@
|
|
ioctl(WSMUXIO_ADD_DEVICE), two distinct locks of the same type are
acquired. Thus, witness will emit warning. Since acquiring two different
locks of the same type is harmless in this context, relax the witness
check by flagging the locks as RWL_DUPOK.
ok visa@
Reported-by: syzbot+249e483406a1f7843915@syzkaller.appspotmail.com
|
|
regulators we already support. The GPIO-based regulators are rather
independent of the type, we only need to know the type to check the
upper and lower limits.
With feedback from kettenis@
|
|
are later passed to timeout_add() which panics if the given ticks are
negative. While here, clamp arguments in pcppi_bell() in order to
prevent overflow.
ok visa@
Reported-by: syzbot+23089c40a85aa70bed6f@syzkaller.appspotmail.com
|
|
from msaitoh
|
|
|
|
technically 0x16ef is for "BCM57416 NetXtreme-E RDMA Partition".
from msaitoh
ok jmatthew@
|
|
tcpdump -i athn0 -y IEEE802_11_RADIO was showing a SHORTPRE flag on most
frames because a PHY type check was missing from the bpf tap code path.
Short preamble only applies to 2, 5.5, and 11 MBit/s CCK frames.
|
|
ok patrick@ mpi@
|
|
|
|
|
|
pin before setting the "pin is high" bit in the index for the states.
Otherwise the index always has all possible bits sets.
ok kettenis@
|
|
wsmux. When invoking wsevsrc_* functions on a attached child device,
underlying driver can sleep; this introduces a race where another thread
is able to modify the list leading to all kinds of corruptions.
ok visa@
Reported-by: syzbot+03f7377a9848d7d008c9@syzkaller.appspotmail.com
|
|
|
|
thinkpad x1 extreme.
ok stsp@
|
|
Should prevent a race seen by florian@ where userland emits an
USB_DEVICEINFO ioctl(2) for a device whose product/vendor names
haven't yet been filled.
ok florian@
|
|
ok mpi@
|
|
|
|
what is used by more recent Linux kernels.
Partly from SASANO Takayoshi.
|
|
error messages if a card is absent from the slot, but other workarounds
are much more complicated.
From SASANO Takayoshi.
|
|
error cases.
|
|
This task is used to deliver mbufs (for events, not data), but it's
possible that the queue overruns. In that case it does leak mbufs.
For now, assert the size to see if we hit the issue.
|
|
ethernet controller driver. Handling of descriptors and buffers has
not been great. There was no way to recover from a full tx queue.
This introduces a mechanism akin to dwxe(4) and tsec(4) and fixes
that. On rd we now map mbufs directly. On tx we can do that as
well for newer SoCs. The i.MX6 Q/DL generation still needs a bounce
buffer on tx for proper alignment.
Tested with bluhm on Cubox-i (armv7) and Hummingboard Pulse (arm64)
|
|
allocate a cluster if the message is larger than that. Fixes a panic
on shutdown on my Asus X205TA.
ok patrick@, stsp@
|
|
allows triggering SPI interrupts by doing memory transactions. This was
already partially implemented in mvicu(4) and is now outsourced into its
own driver since we need better initialization when booting using u-boot.
Also implement new and legacy bindings in mvicu(4), relying on the new
mvgicp(4) driver.
ok kettenis@
|
|
|
|
Update default/min/max noisefloor values to those used by Linux ath9k.
Tested by jmc, juanfra, kn, and myself, on 9280 and 9271 devices.
|
|
|
|
the device was opened in write-only mode. Relying on me_evar being NULL
does not work if the wskbd device was opened first followed by opening a
wsmux device. Closing the wskbd device first at this stage would cause
the wscons_event queue inherited from the wsmux device to be freed. This
in turn could cause a panic if an ioctl(WSMUXIO_INJECTEVENT) command is
issued to the wsmux device.
ok deraadt@ visa@
Reported-by: syzbot+ed88256423ae8d882b8b@syzkaller.appspotmail.com
|
|
on dual port cards work much better.
ok dlg@
|
|
phy to check the media status did not only ack the MII interrupt, but
also all the others. Thus it could happen that the TX completion was
not seen by the interrupt handler, leading to full TX queues. Also,
the fec(4) interrupt handler acked more than it handles, thus possibly
also acking the MII interrupt.
Found with bluhm@ on his new arm64 regression setup.
ok bluhm@
|
|
C99 inline semantics resulted in undefined symbols.
OK deraadt@ mpi@ dlg@
|