Age | Commit message (Collapse) | Author |
|
From Jeremy Chase.
|
|
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
|
|
ok krw@
|
|
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
|
|
fixes association with APs that refuse non short slot time capable STAs.
|
|
between instances, saving space in the kernel. feedback from many (some
incorporated, some left for future work).
ok deraadt, kettenis, "why not" miod.
|
|
- implement A-MPDU frames buffering and reordering
- implement A-MSDU decapsulation
- process/send ADDBA Request, ADDBA Response and DELBA action frames
- process Block Ack Request control frames (including MTBAR)
- implement PBAC support (Protected Block Ack)
- add some incomplete HT Capabilities and HT Operation IEs parsing
Add more Management Frame Protection bits based on 802.11w Draft 7.0:
- implement SA Query procedure (both AP and STA)
- cleanup BIP
Fix some bugs:
- fix check for WEP key length that otherwise caused a stack smash in
ieee80211_wep_encrypt (pointed out by Xavier Santolaria on macppc)
- properly stop EAPOL timeout: fixes a panic that occured in HostAP mode
when turning the interface down while a 4-way handshake is in progress
(pointed out by Doughertys)
Did some code cleanup too.
The HT bits are currently not compiled in (IEEE80211_NO_HT is defined)
because they won't be ready until after the next release and I didn't
want to grow the kernel or to inadvertently introduce new bugs.
They are here such that other people can look at the code.
Notice that I had to add an extra parameter to ic_send_mgmt() for
action frames, that is why there are small changes in drivers defining
their own ic_send_mgmt() handler.
Sorry for the not very incremental diff but this has been sitting in
my tree for too long now.
|
|
|
|
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.
|
|
|
|
|
|
also, do not set the privacy bit in the capinfo field of (re)assoc
requests, even for RSNA.
|
|
not an EDCA Parameter Set element (spotted by IEEE80211_STA_ONLY).
|
|
{ipw,iwi}_start which is wrong (node reference is not released).
from pgt(4).
|
|
no binary changes.
|
|
some initial WMM bits too.
use license.template while i'm here.
|
|
since we pass received management frames to net80211, net80211
may send replies (like deauth/disassoc), so we just call
IF_PURGE(&ic->ic_mgtq) in {ipw,iwi}_start just to be on the
safe side of things (so we don't leak mbufs).
|
|
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.
|
|
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.
|
|
in the case where the old buffer is remapped.
|
|
remove <malloc.h> from files where malloc is not used.
|
|
|
|
one that can be used with other ciphers than WEP.
|
|
reported a while back by Laurence Tratt, reminded more recently by brad@
|
|
the ESS bit must be set in (re)assocation requests.
|
|
|
|
See similar commit to dev/usb/if_rum.c for more info. With this commit
all drivers have been switched away from the incorrect M_DUP_PKTHDR() usage.
OK mglocker@
|
|
the standard rates, use some defined by net80211 itself. kernel shrinks a bit
ok jsg mglocker
|
|
|
|
iwi_auth_and_assoc() before copying the rate set.
The firmware command allows a maximum of 12 rates to be defined while the
ieee80211_rateset structure can contain up to 15 rates.
Notice that this should not happen since the rate set is supposed to be
negotiated at that time but Jeremie Le Hen sees some evidence of this
happening in FreeBSD.
In case it happens, print a diagnostic message and truncate the rate set.
Pointed out by Jeremie Le Hen.
|
|
|
|
use IFQ_POLL()/IFQ_DEQUEUE() logic instead as described in altq(4).
|
|
|
|
the ioctl is not supported by ifconfig and it has never worked anyway.
|
|
add short preamble flag)
o Add short slot time support
o Ignore parity errors interrupts (as per Linux driver)
o Fix DMA sync ops
o Improve async commands processing
o Fix hardware WEP encryption (40/104bit keys)
o Set Tx power to the maximum value for 802.11a channels too
o Disable bluetooth coexistence and hardware antenna diversity as
it seems to panic the firmware on some adapters
o Handle beacon miss and link degradation notifications (but don't
automatically roam yet)
o Remove unused prototypes
o Cosmetic tweaks as always
|
|
|
|
ok damien@
|
|
|
|
reset when iwi_init() is called from iwi_ioctl() on ENETRESET.
this fixes a firmware panic when setting a WEP key multiple times for
instance. fix some printf while i'm here.
pointed out by Kurt Miller (kurt@).
|
|
error message instead. Also return EINVAL for some other error paths.
ok damien, deraadt
|
|
|
|
Please note that the driver now requires new firmware (version 3.0).
|
|
|
|
- upgrade to firmware v3.0 layout
- enable s/w antenna diversity
- many code cleanup
|