Age | Commit message (Collapse) | Author |
|
driver start routines. Instead add & use a pointer in the pkthdr
since we don't want the overhead of using a mbuf_tags(9).
claudio@ pointed out that other subsystems might want to use this
pointer too, so here's a new cookie!
ok claudio@, mikeb@, deraadt@
|
|
kernel resumes normal (non-cold, able to run processes, etc) operation.
Previously we were relying on specific DVACT_RESUME op's in drivers
creating callback/threads themselves, but that has become too common,
indicating the need for a built-in mechanism.
ok dlg kettenis, tested by a sufficient amount of people
|
|
driver written by Intel engineers occasionally gets them. So when we get one,
simply reset the chip, reload the firware and bring the interface up again.
ok chris@, phessler@, mpi@
|
|
wpi0 at pci2 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: msi, MoW2
ok jsg@
|
|
from kimberley manning
|
|
while there, fix a few %d into %u
|
|
don't have to. Just remove these include lines.
Compiled on amd64 i386 sparc64; OK henning@ mikeb@
|
|
ok otto
|
|
``Reasonably confident that will work on all hardware, go ahead and
commit.'' kettenis (worst jinx ever)
|
|
traversal code to suspend/resume
ok oga kettenis blambert
|
|
it stop calling the powerhook function; then make the powerhook function
call activate. This basically inverts the whole goop.
ok kettenis
|
|
ok deraadt@ henning@ claudio@
|
|
no binary change.
|
|
until whoever has it is done with it.
This is kept as flag/sleep condvars instead of a rwlock because later we
may want to quiesce the handler before suspend to make sure nothing is
sleeping on a chip that is about to be whacked (doing so will change the
proc so rwlocks won't work).
ok damien@
|
|
iwn(4) again.
ok deraadt@
|
|
resume paths. For new-style suspend/resume, add a ca_activate function where
it is missing, and use a workq to resume because these drivers like to sleep.
ok damien
|
|
suggestions by damien@.
|
|
tsleep'ing (for example waiting for the firmware to become alive)
in iwn_init.
ok damien@
|
|
sysctl.h was reliant on this particular include, and many drivers included
sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed.
ok deraadt
|
|
it is totally useless since (contrary to the one in iwn(4)) it
is not in any known unit (can't be converted to degK or degC).
|
|
though this does nothing on i386 and amd64.
|
|
call if_detach() last.
no need to splnet() since we are already called at the right ipl.
iwn(4) diff from deraadt@
|
|
DHCP more chance to succeed w/o too much retries.
AMRR is good enough at raising the Tx rate fast.
|
|
|
|
|
|
- rename CMD_CONFIGURE into CMD_RXON (like iwn)
- properly stop TX FIFOs
|
|
Some laptops will power off the PCIe socket when the radio kill
switch is turned on.
Reported and tested by Frantisek Holop on iwn(4).
Initial diff for iwn(4) by jsg@
Some additional bits by Frantisek Holop (sensor_detach).
Some tweaks and adaptation to wpi(4) by me.
Fixes kernel/6223.
|
|
change two error messages while i'm here.
|
|
reducing the amount of splnet/splx dancing required.. especially in the
worst case (of m_cldrop)
ok dlg kettenis damien
|
|
Been running this on my laptop for a while now with no apparent ill effects.
originally from a longer list from grange@
ok krw@ as part of that list
|
|
this leak was introduced when i switched to MCLGETI.
reported by mpf@ and others.
|
|
|
|
notice that i'm not using the per-ifp mbuf accounting/mitigation yet.
for iwn(4), this means we wont' be able to support full 8KB AMSDU on
machines without an IOMMU since >4KB clusters are not guaranteed to
be physcontig. fortunately, we can program the hardware to do 4KB
AMSDUs only.
simplify {pwi,iwn}_dma_contig_alloc while i'm here: use BUS_DMA_ZERO
|
|
since autoconf(9) allocates softc with M_ZERO; ok deraadt
|
|
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).
ok deraadt, kettenis, "why not" miod.
|
|
found by chl@ using llvm/clang
|
|
with other net80211 flags (we no longer need to shift.)
|
|
seem to work properly.
it is checked later in wpi_post_alive() anyway.
pointed out by many, further investigated by Tim van der Molen.
|
|
|
|
m_defrag() does not work. It seems to assume that if the length of
the mbuf passed as parameter is less than MHLEN, then it is an mbuf
header and not a cluster (or something like that.)
It thus fails miserably in the bcopy path.
I don't have the time to investigate further into this.
Thanks to Okan Demirmen for reporting the issue on a ral(4) RT2560.
The RT2560 chipset does not support TX scatter and thus m_defrag()
was called much more often than in other drivers using m_defrag()
where it was less noticeable.
|
|
|
|
now in line with iwn_ioctl(); 'dead assignment' llvm/clang; ok damien
|
|
|
|
|
|
on i386 and amd64 (we do not implement bounce buffers) where this hardware
is likely to be found. this is good programming practice.
|
|
- Sync wpi(4)'s set_key comment with the comment from iwn(4).
ok damien@
|
|
otherwise the chip comes up with the RF_TOGGLED bit set which triggers
an if_stop() call if a shared interrupt occurs.
|
|
function. will be required for future MCS support in iwn.
|
|
Found by LLVM/Clang Static Analyzer.
ok damien@
|
|
this is an overkill in this case as it duplicates mbuf tags etc...
following a discussion with kettenis@ a few months ago about gem(4)
did some cleanup while i was there.
|