| Age | Commit message (Collapse) | Author | Files | Lines |
|
Count these dropped frames as input errors.
|
|
Sending the firmware a NODE_ADD command for our BSS doesn't seem to have the
desired effect in station mode. It made a new association after ifconfig
down/up impossible until the device was re-plugged. Leave the code in place
but limit it to hostap mode, just in case it is needed there (hard to tell
since hostap mode seems to be broken -- no beacons are sent by the device).
Also, when leaving run state, reset the RX filer to allow all beacons again.
ok mpi@
|
|
The previous code was racy and could dead-lock the USB task thread when a
firmware command timed out (e.g. because the user pulled out the device).
Handle this condition by marking the device as dying as soon as the interrupt
handler gets an IOERROR and making sleeping firmware command threads check
for a dying device when waking up.
Ensure that no thread will try to send a command before the previous one
has completed. There is only a single xfer data structure for firmware
command transfers and reusing an in-flight xfer will give the USB stack
curly toenails ("xfer not free").
Allow up to ATHN_USB_HOST_CMD_RING_COUNT firmware commands to be enqueued
on the command ring, rather than just one. Use standard usdb_wait_task()
when waiting for command ring completion instead of hand-rolled tsleep()s.
discussed with and ok mpi@
|
|
ok kettenis@
|
|
ok stsp@ phessler@
|
|
ok stsp@ phessler@
|
|
ok kettenis@ stsp@ phessler@
|
|
The driver artificially limited the number of slots for nodes in its net80211
node cache to 8, the rationale being the device firmware can only handle 8
associated nodes at a time. But that's not a good reason to only cache 8 of
potentially many APs in the area.
Instead of crippling upper layer data structures, impose the limit locally
by raising an error if more than 8 nodes are trying to associate (which can
only happen in hostap mode, and hostap mode seems to be broken anyway).
This matches what Linux ath9k does.
Also, use a USB-specific scan timeout callback to we can do USB refcounting
while scanning.
ok mpi@
|
|
ok kettenis@ stsp@ phessler@
|
|
required since this code runs during device detach but looks prettier.
Also remove an unneeded call to usbd_abort_pipe() which is implied by
usbd_close_pipe().
ok mpi@
|
|
confusion in the USB stack. Also add some usbd_is_dying checks.
suggested by + ok mpi@
|
|
seen on MP kernels when doing bulk io transfers from a multithreaded program
(bacula-fd). ok dlg@
|
|
ok phessler@, stsp@
|
|
|
|
As soon as a transfer is being cancelled, remove it from the list of pending
xfers. This way the soft interrupt routine won't try to process it before
ehci_abort() gives it back to the stack.
Problem analysed by and ok stsp@
|
|
|
|
without this is won't attach.
ok stsp@ millert@ miod@
|
|
ok guenther@, phessler@, jsing@
|
|
|
|
|
|
|
|
Verified working by Peter Hansteen
OK deraadt@, millert@, stsp@
|
|
|
|
drivers do. While here remove unused fields from struct iwm_fw_info.
test and ok brad@ phessler@
|
|
PAGE_MASK to be (~(PAGE_SIZE - 1)) where as our kernel defines it as
(PAGE_SIZE - 1). It is possible to flag a CS as wanting to use
GPU VM for cayman/aruba hardware though in practice Mesa won't
submit a CS flagged with GPU VM for these unless overriden via
RADEON_VA=true in the environment.
For Southern Islands radeons on the other hand GPU VM is required
and flagged by default.
|
|
for debugging the problem on RS690 and coming up with an initial diff.
Align the gart table allocation to the size of the allocation (rounded
up to nearest page size by bus_dmamem_alloc). Matches the behaviour of
the original Linux code's use of
pci_alloc_consistent()/dma_alloc_coherent().
Correct PAGE_MASK usage in rs400_gart_set_page(). Linux defines
PAGE_MASK to be (~(PAGE_SIZE - 1)) where as our kernel defines it as
(PAGE_SIZE - 1). Most of the other occurances in the drm code have been
adjusted accordingly but this one seems to have been missed.
|
|
Pointed out by brad.
|
|
ok dlg@
|
|
|
|
Fixes inet6 autoconf, for example.
Reported and fix tested by matthieu and brad
|
|
|
|
and a whole bunch of other id's jsg@ spotted in dmesglog
ok jsg@
|
|
status register, correctly mask things so we're left with the mps
field instead of everything but the mps field.
tested by bcallah@ and jim smith
|
|
told me that if you're going to rx into buffers greater than 4k in
size, they have to be aligned to a 4k boundary.
the mru of this chip is 9k, but ive been using the 12k mcl pool to
provide the alignment. however, if we move to putting 8 items on a
pool page there'll be enough slack space in the mcl12k pool pages
to allow item colouring, which in turn will break the chip requirement
above. in practice the chips i have seem to work fine with unaligned
buffers, but i dont want to risk breaking early revision chips.
this moves myx to using a private pool for allocating clusters for
the big rx ring. the item size is 9k, but we specify a 4k alignment
so every item we get out of it will be correct for the chip.
|
|
|
|
size up to 4k.
found while reading someone elses driver.
|
|
failure to fire the collection timeout. discovered by markus.
the order of events here doesn't actually matter, so switch to a simple
stack, which is easier to understand. ok markus
|
|
max@M00nBSD.net's code scanner; ok doug@ jca@
|
|
|
|
|
|
|
|
|
|
ports as enabled/connected.
|
|
ok dlg@
|
|
|
|
|
|
|
|
ok dlg@
|
|
ok dlg@
|
|
i915_gem_object_flush_fence() to be mb() not wmb() while here.
|