Age | Commit message (Collapse) | Author |
|
|
|
from Edgar Pettijohn <edgar at pettijohn minus web dot com>.
OK jmc@ deraadt@
While here, remove two instances of inconsistent future tense.
|
|
still lingering in the node cache. This could cause an AID to be assigned
twice, once to a newly associated node and once to a different node in
COLLECT cache state (i.e. marked for future eviction from the node cache).
Drivers (e.g. rt2860) may use AIDs to keep track of nodes in firmware
tables and get confused when AIDs aren't unique across the node cache.
The symptom observed with rt2860 were nodes stuck at 1 Mbps Tx rate since
the duplicate AID made the driver perform Tx rate (AMRR) accounting on
the wrong node object.
To find out if a node is associated we now check the node's cache state,
rather than comparing the node's AID against zero. An AID is assigned when
a node associates and it lasts until the node is eventually purged from the
node cache (previously, the AID was made available for re-use when the node
was placed in COLLECT state). There is no need to be stingy with AIDs since
the number of possible AIDs exceeds the maximum number of nodes in the cache.
Problem found by Nathanael Rensen.
Fix written by Nathanael and myself. Tested by Nathanael.
Comitting now to get this change tested across as many drivers as possible.
|
|
ok visa@
|
|
Move some declarations to if_iwmreg.h so we can use iwm_phy_db_* prototypes.
Remove redundant declaration of iwm_send_phy_db_data().
Remove pointless iwm_fw_alive(); just call iwm_post_alive() directly.
Simplify iwm_prepare_card_hw() and iwm_mvm_add_sta().
Return timeout error from iwm_apm_init().
Print a message when init (i.e. boot) firmware fails to load.
Remove some commented-out code which wouldn't compile anyway.
Move iwm_mvm_tx_fifo to if_iwmreg.h to match better where Linux puts it.
ok kettenis@ mpi@
|
|
According to a comment in iwlwifi:
* Clearing FH_MEM_RCSR_CHNL0_CONFIG_REG to 0 turns off Rx DMA.
* Driver should poll FH_MEM_RSSR_RX_STATUS_REG for
* FH_RSSR_CHNL0_RX_STATUS_CHNL_IDLE (bit 24) before continuing.
ok kettenis@
|
|
ok patrick@
|
|
|
|
already there.
|
|
|
|
the srp_ref struct is used to track the location of the callers
hazard pointer so later calls to srp_follow and srp_enter already
know what to clear. this in turn means most of the caveats around
using srps go away. specifically, you can now:
- switch cpus while holding an srp ref
- ie, you can sleep while holding an srp ref
- you can take and release srp refs in any order
the original intent was to simplify use of the api when dealing
with complicated data structures. the caller now no longer has to
track the location of the srp a value was fetched from, the srp_ref
effectively does that for you.
srp lists have been refactored to use srp_refs instead of srpl_iter
structs.
this is in preparation of using srps inside the ART code. ART is a
complicated data structure, and lookups require overlapping holds
of srp references.
ok mpi@ jmatthew@
|
|
with proper W^X policy. The same thing was done for amd64 late last year,
catching i386 up now. Diff has been in snaps for a few days with no
reported fallout.
ok deraadt@
|
|
Example: rootdev=/dev/cnmac0
Patch from Kim Lidstrom, thanks!
|
|
missed when buflen was promoted to size_t. OK tedu@
|
|
|
|
been opened during init(8). Only log with cnwrite() if cn_devvp
exists, otherwise use cnputc() as fallback. While there move extern
declarations to dev/cons.h.
input and OK deraadt@
|
|
way pledge introduced by millert@ in -r1.70 is now a two way pledge, one
for non-root and one for root. This also ensures that root drops the
id promise in all cases early on.
This disentangling of the bits for root and non-root simplifies the code
paths in all cases.
ok millert@
|
|
Permanently holding /dev/console open in the kernel works only until
init(8) calls revoke(2). After that the console device vnode cannot
be used anymore. It still resulted in a hanging init(8) if it tried
to syslog(3) something. With the backout also dmesg -s works again.
|
|
|
|
to reduce the noise in the next commit. While there, fix the indent
level of a bit introduced in the previous commit.
ok millert@
|
|
Set board IDs for i.IMX6 boards based on the "compatible" property of the
root node for now to ease the transition to full FDT support in the
kernel.
|
|
This change touches code that only runs when REG_BASIC is given and
the regular expression is anchored with ^ _and_ uses backreferences.
The segfault could only be triggered when the ^ anchor was inside
a leading () subexpression quantified with *.
OK martijn@
Patch also proofread by Pedro Giffuni <pfg at FreeBSD dot org>.
|
|
property of the "/chosen" node to pass arguments to the kernel.
|
|
we don't drop any events when the queue is full. They are instead mixed
into previous events.
The mixing function selected is addition instead of xor to reduce the
possibility that new values effectively erase existing ones.
Convert some types to u_int to ensure defined overflow.
ok deraadt djm
|
|
promise when run as root since we don't need proc or exec as
root. OK tb@, earlier version OK deraadt@
|
|
|
|
part of a diff by bytevolcano. ok jung
|
|
|
|
ARCH gets appended automatically)
|
|
Tested by naddy@
|
|
memory to a local user. Found by Patrick Keshisian. Fix a potential
integer overflow issue in related code while I'm there.
ok mglocker@, deraadt@
|
|
|
|
ok beck krw millert
|
|
ok patrick@
|
|
|
|
|
|
OK jung@
|
|
- Move most of the bus setup stuff to imxiic_i2c_acquire_bus()
- Move the teardown to imxiic_i2c_release_bus()
- Always clear the IIF flag
- Allow cmd and data for write operations.
Some i2c operations are still rejected, but this works well enough to use
pcfrtc(4).
ok patrick@
|
|
ok patrick@
|
|
property of an OFW/FDT node.
ok deraadt@, pactrick@
|
|
|
|
invalid state ending in fatal(), while at it plug a file pointer leak.
ok eric@, millert@
|
|
that now.
from ray
|
|
|
|
|
|
ok deraadt@ kettenis@
|
|
bring back cache lines after a PREREAD. Eliminates random data corruption
on my CuBox-i4Pro.
ok jsg@
|
|
|
|
|
|
armv5 this is just a "memory" clobber hint to the compiler.
ok kettenis@
|