Age | Commit message (Collapse) | Author |
|
tricky and using the pre-programmed BAR size should always work.
Using bigger BARs might improve performance but it we probably need
other changes (such as making the driver mpsafe) to benefit from that.
|
|
support digital audio output which we don't support (yet) in OpenBSD.
|
|
noticed by jmc@
|
|
tb@ agrees that it should not be part of the public API
|
|
calling code is fine with this unimplemented function returning an error
ok kettenis@
|
|
|
|
tweaks and OK tb@
|
|
|
|
ok jsg@
|
|
false. In theory somebody could plug an old radeon card into a machine
with a ridiculous amount of memory (or a really old PCI/AGP card in a
machine with >4GB of memory) but supporting that scenario just isn't
worth it.
ok jsg@
|
|
interface.
|
|
in the foreseeable future.
|
|
Port breakages reported by naddy@
|
|
reminded by jmc@
|
|
just when it is queued.
|
|
|
|
|
|
|
|
My first version also displayed the number of routes per table. But
duming all routing tables to count the entries in userland is expensive.
Once the kernel can export these counters the numbers can be added to the
output of -R.
OK benno@ previous version
OK sthen@
|
|
ok jmatthew@
|
|
|
|
|
|
GitHub issue 2268.
|
|
of IDs in a range minus one.
ok patrick@
|
|
ok tb
|
|
|
|
Pass the right object to html_reset() or it will crash
when rendering more than one manual page to HTML in a row.
Bug reported by Abel Romero Perez <romeroperezabel at gmail dot com>.
Ingo came up with the same diff and I'm borrowing his draft commit
message. ok schwarze@
|
|
To maintain the correct refs count, blocking calls to uaudio are
wrapped in usbd_ref_incr() and usbd_ref_decr() calls.
suggested by mpi@ and ok visa@
|
|
This matches upstream awk and OpenBSD only implements LC_CTYPE anyway.
|
|
lock order issue with the file close path.
The FRELE() can trigger the close path during dup*(2) if another thread
manages to close the file descriptor simultaneously. This race is
possible because the file reference is taken before the file descriptor
table is locked for write access.
Vitaliy Makkoveev agrees
OK anton@ mpi@
|
|
|
|
should fix problem reported by Laurence Tratt on bugs@
tweak and ok kettenis@
|
|
while building a scan command for the firmware. This isn't the right place
to set our address, which has already been set during driver initialization.
ok mpi@ kettenis@
|
|
|
|
|
|
While here prefix kernel-only EV flags with two underbars.
Suggested by kettenis@, ok visa@
|
|
poll handler if the EV_OLDAPI flag is set.
ok visa@
|
|
With iwn(4) and iwm(4) this was only required for Tx aggregation, which
we don't use yet in iwx(4). But it looks like iwx(4) firmware will run
into fatal errors if we neglect to update this table. The Linux iwlwifi
driver always updates this table so firmware could be relying on it.
Tested by jcs@, sven falempin, and myself.
|
|
"command done" notifications for earlier commands and then crashes.
There might be an underlying issue that we still need to figure out. But as
of this change the device becomes functional with -48 firmware, which is a
good first step towards switching to -48 firmware eventually.
Tested by jcs@, sven falempin, and myself.
ok patrick@
|
|
On iwx(4) devices there is no two-step firmware loading process with an
INIT and RT image, as was the case with iwn(4) and iwm(4).
Loading the image twice leaves firmware in a semi-operational state with
problems such as fatal firmware errors and missing regulatory domain
update notifications.
Tested by jcs@, sven falempin, and myself.
ok patrick@
|
|
iwx(4) devices have a hardware component (the "communications hub")
that can detect which country it is running in. The firmware will
then inform the driver about the auto-detected regulatory domain.
For now, just print a message which shows the detected regulatory domain
if 'ifconfig iwx0 debug' is enabled. It is up to the driver whether it
wants to react to regulatory domain updates.
Tested by jcs@, sven falempin, and myself.
|
|
parser inherited from iwm(4).
The old parsing code is merely disabled for now and will be deleted later.
Deleting the old code at the same time would result in a very untidy diff.
Tested by jcs@, sven falempin, and myself.
|
|
|
|
I wrote taskq_barrier with the behaviour described in the manpage:
taskq_barrier() guarantees that any task that was running on the tq taskq
when the barrier was called has finished by the time the barrier returns.
Note that it talks about the currently running task, not pending tasks.
It just so happens that the original implementation just used task_add
to put a condvar on the list and waited for it to run. Because task_add
uses TAILQ_INSERT_TAIL, you ended up waiting for all pending to work to
run too, not just the currently running task.
The new implementation took advantage of already holding the lock and
used TAILQ_INSERT_HEAD to put the barrier work at the front of the queue
so it would run next, which is closer to the stated behaviour.
Using the tail insert here restores the previous accidental behaviour.
jsg@ points out the following:
> The linux functions like flush_workqueue() we use this for in drm want
> to wait on all scheduled work not just currently running.
>
> ie a comment from one of the linux functions:
>
> /**
> * flush_workqueue - ensure that any scheduled work has run to completion.
> * @wq: workqueue to flush
> *
> * This function sleeps until all work items which were queued on entry
> * have finished execution, but it is not livelocked by new incoming ones.
> */
>
> our implementation of this in drm is
>
> void
> flush_workqueue(struct workqueue_struct *wq)
> {
> if (cold)
> return;
>
> taskq_barrier((struct taskq *)wq);
> }
I don't think it's worth complicating the taskq API, so I'm just
going to make taskq_barrier wait for pending work too.
tested by tb@
ok jsg@
|
|
|
|
dormant in the driver for years, we just needed to insert the IV before
transmission and do packet number checks on received frames.
tested by kevlo@ solene@ benno@ and me on a variety of hardware
ok kevlo@ stsp@
|
|
|
|
|
|
|
|
ok kettenis@
|