Age | Commit message (Collapse) | Author |
|
iwm(4) releases resources whenever hardware signals Tx completion for a
frame at Tx queue index 'N'. It has been observed that we sometimes get
an interrupt for frame 'N - 2' followed by an interrupt for frame 'N',
with no interrupt being received for frame 'N - 1'.
Whenever this occurred a later decision to roam to another AP would fail
since AP node references for frames affected by missing interrupts were
never released. Another side-effect was an mbuf leak.
The problem was first observed at 36c3 and debugged there with bluhm@.
ok tobhe@
|
|
are 32 bit register contents, make them uint32_t instead of int.
Add explanation for hardware bug mitigation.
ok stsp@
|
|
When a traced process _exit(2)s, its (tracing) parent tries to give it
back to the old parent. In the case where the old parent is the same
as the tracing parent, there's no need to do this dance, so simply
remove it from the list of zombies and free its descriptors.
Fix a double report via wait(2) exposed by recent changes in make and
newly imported ptrace(2) regression from NetBSD.
Diagnosed with espie@ and guenther@, ok claudio@
|
|
scsi drivers. i.e. eliminate the struct scsi_adapter member in the
softc and rely on the pointer to a static scsi_adapter in the struct
scsi_link member.
|
|
From Wayne Lin
4ecba33ec87e2fbc604c74a52cc5b763a4d91639 in linux 4.19.y/4.19.103
64e62bdf04ab8529f45ed0a85122c703035dec3a in mainline linux
|
|
From Lyude Paul
abc51506fcebee12183f98a30f0aa67b32ee8542 in linux 4.19.y/4.19.103
58fe03d6dec908a1bec07eea7e94907af5c07eec in mainline linux
|
|
From Ville Syrjala
f2c1ddb873f45522f95e01bd948ad4e9678ecf86 in linux 4.19.y/4.19.103
433480c1afd44f3e1e664b85063d98cefeefa0ed in mainline linux
|
|
ps_pledge more than once. That will cause problems if sys_ioctl is
changed to be unlocked (in at least some cases), so switch to a read-once
local variable.
discussed with a few, ok mpi
|
|
we will get hid_collection and hid_endcollection items. Since hid_
endcollection apparently returns the usage of the previous item, it
was possible that we "see" two items for the same usage. Make sure
that we only accept hid_input items. Both hidms and hidkbd do some-
thing similar, fixes the Pinebook Pro's trackpad.
ok kettenis@
|
|
The main VOP DCLK clocks either have a normal divisor as a parent
or some fractional one. The clock referred in the device tree to
set the frequency on is the mux itself, which has no divisor. To
To be able to set the frequency, we need to allow setting it on the
parent anyway. Thus move the divisor mask check to a later point,
so even though we have no divisor, we can still tell the parent to
adjust itself.
ok kettenis@
|
|
with cpuid_level < 7.
Problem reported by Anthony Steinhauser.
|
|
to errors.
OK deraadt@, cheloha@, anton@
|
|
no _BQC method. But we need it to attach, since it provides
the events for the brightness keys. Thus, make acpivout(4)
attach enough to register the event handler, but return early
so that it doesn't register itself as ws_[gs]et_param.
ok kettenis@
|
|
invalidation in one place.
Store struct tty pointer in kn_hook directly to simplify the code.
OK mpi@
|
|
from mlarkin
|
|
With input from miod@.
No complaints on tech@ after a month.
|
|
'adw_switch' like all the cool kids do.
|
|
the relationships between various scsi structs.
|
|
sc_link.adapter at trm_switch directly.
|
|
|
|
the real names.
|
|
|
|
|
|
|
|
check dev_minphys for NULL before calling it.
|
|
fdrelease(). This makes the upper layer of file descriptor closing
free of KERNEL_LOCK() when the process does not use kqueue.
The kernel locking around fdremove() and knote_fdclose() is no longer
needed because kqueue_register() checks if there has been a race with
file descriptor close. Moreover, the locking became ineffective against
these races when filterops callbacks were allowed to sleep.
OK anton@, mpi@
|
|
'minphys()'. Just use & check for NULL instead, since 'minphys()' is
always called on the code path ([cd|sd|st]minphys) that calls
physio().
|
|
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.
|
|
|
|
|
|
This may fix rare stuttering caused by underruns in case device clock
drifts with respect to the bus clock.
|
|
|
|
|
|
ok semarie, deraadt
|
|
|
|
|
|
As more and more teardown functions include barriers, or any kind of
context change, it is unsafe to continue to assume that such code paths
are atomic. So a good practise is to only free descriptor when we're
sure that no other context can access them.
Found while looking at visa@'s ttkqflush() replacement diff. The same
pattern is present in many USB drivers as found with Peter Stuge.
ok visa@
|
|
|
|
from James Hastings
|
|
|
|
- Abstract the allocation/freeing of TX/RX ring into em_dma_malloc().
This will ease the introduction of multiple rings.
- Split the 82576 variant out of 82575. The distinction is necessary
when it comes to setting multiple queues.
- Change multiple TX/RX related macro to take an index argument
corresponding to a ring. Currently only the index 0 and 1 are used.
- Gather and print more stats counters
- Switch to using a function, like FreeBSD, to translate 82542
registers and get rid of a set of defines.
Tested by many, thanks! ok mlarkin@, jmatthew@
|
|
This handrolled cond_wait() dealing with signals prevents a lock
ordering problem when executing probes inside the scheduler code.
That means we stop relying on a mutex for synchronisation and instead
rely on the sleep_* internals, currently the SCHED_LOCK().
From kettenis@
|
|
operational behaviour of "go" which is not unreasonable
from Jimmy Brush
|
|
OK florian@, bluhm@, visa@
|
|
Tested on rockpro64.
ok sthen@
|
|
sigcoderet label must point directly after the svc instruction, because the
sigreturn() checks it as SROP mitigation, so place the sled after the label.
tested by naddy
|
|
for SYS_exit and SYS_sigreturn in the sigtramp"; init has trouble
spawning processes.
|
|
and SYS_sigreturn in the sigtramp. As these control-flow into a jump
or process termination, we never do the +8 dance over the
instructions, however the speculation prevention (once these nops are
replaced with a speculation barrier) is required.
oversight noticed by Anthony Steinhauser.
|
|
asked for more oks; my bad!
|
|
operating on the process structure and issuing signals. This is similar
to what sigio_setown() already does.
With this in place, the pipe subsystem is no longer required to grab the
kernel lock before calling pgsigio().
ok visa@
|