Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
wpi(4) and iwn(4) used to be in sync but with the latest iwn(4)
changes, this was no longer the case. that commit repair this.
it brings HW CCMP encryption/decryption among other things.
requires an update of the wpi-firmware package.
please report any regression you might see.
|
|
wpi(4) and iwn(4) used to be in sync but with the latest iwn(4)
changes, this was no longer the case. that commit repair this.
it brings HW CCMP encryption/decryption among other things.
requires an update of the wpi-firmware package.
please report any regression you might see.
|
|
remove IBSS and HostAP support from net80211 and 802.11 drivers.
it can be used to shrink RAMDISK kernels for instance (like what
was done for wi(4)).
it also has the benefit of highlighting what is specific to IBSS
and HostAP modes in the code.
the cost is that we now have two code paths to maintain.
|
|
From jcs@ and in accordance with what the Intel Linux driver does.
|
|
pass a pointer to an ieee80211_rxinfo structure containing those two
fields plus an extra flags field that indicates whether the frame was
decrypted by hardware or not.
required for a future fix.
|
|
MIN() and MAX() are macros that can evaluate their arguments twice
but it is safe in this context.
following a post from miod@ about the harmfulness of min() and max()
in the kernel.
|
|
handshake protocols (both supplicant and authenticator state
machines) as defined in the IEEE 802.11i standard.
Software implementation of the TKIP (Temporal Key Integrity
Protocol) and CCMP (CTR with CBC-MAC Protocol) protocols.
This diff doesn't implement any of the 802.1X authentication
protocols and thus only PSK authentication (using pre-shared
keys) is currently supported.
In concrete terms, this adds support for WPA-PSK and WPA2-PSK
protocols, both in station and hostap modes.
The following drivers are marked as WPA-capable and should
work: bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4),
rum(4), upgt(4), and zyd(4)
The following options have been added to ifconfig(8):
wpa, wpapsk, wpaprotos, wpaakms, wpaciphers, wpagroupcipher
wpa-psk(8) can be used to generate keys from passphrases.
tested by many@
ok deraadt@
|
|
okay damien@
|
|
configurable so simplify rings allocation a bit.
|
|
panic when resetting the device - requested by many
fix ifconfig -M (the interface still has to be down though ie it won't
work while the interface is up).
fix AMPDU window for 4965AGN (has no effect since 802.11n is not
supported yet).
|
|
- tweaks to make it look more like iwn(4).
|
|
|
|
for EDCA support).
- remove an unused function.
- fix scan command.
- detect if the hardware radio switch is on instead of failing in the
calibration of the thermal sensor with an obscure message.
|
|
remove <malloc.h> from files where malloc is not used.
|
|
|
|
buffer into it using m_copym2() instead of just dropping the received
frame. otherwise, it may happen that all rx buffers are queued by
tcp_input() waiting for a frame that will never arrive because we are
dropping it. when it happens, rx stop working and it is hard to
recover from this.
the problem is not visible when using WEP because WEP decryption is
currently done by software and that rx buffers are copied into mbufs
by the software decryption code.
while i'm here, increase the number of rx buffers allocated by wpi(4)
from 80 to 96 to limit the number of copies.
problem and solution found by bluhm@ - thanks.
|