Konstantin Belousov
69a2ec4a19
Fix build with clang 3.6, silence -Wcast-qual warning.
...
Sponsored by: The FreeBSD Foundation
Acked by: adrian
2015-03-15 23:05:36 +00:00
Adrian Chadd
e2ad437112
Add a new taskqueue (device specific, not net80211 ic->tq); use it for
...
device restart.
(Committers note - once scan overhaul and a few other things have been
fixed in net80211 to not block things in the taskqueue, this can disappear
and the device specific taskqueues in other drivers can also go away.)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:32:11 +00:00
Adrian Chadd
a5403e3157
Workaround delays caused by vmem_check().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:30:20 +00:00
Adrian Chadd
2e79e29307
Fix scan timeouts with powersave enabled.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:29:36 +00:00
Adrian Chadd
fd06b53774
Don't unlock mutex in interrupt thread (except for wpi_rx_done() - for now) -
...
fixes various races between wpi_notif_intr() and wpi_stop_locked().
(attachment 154381)
Committers note: yes, unlock/if_input/lock has to go away, but that'll
have to be done later.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:29:18 +00:00
Adrian Chadd
062c813943
Reformatting changes.
...
(attachment 154380)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:27:50 +00:00
Adrian Chadd
b52207dbd2
Use correct types
...
(attachment 154379)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:27:03 +00:00
Adrian Chadd
5effcbfd6c
Add another lock for the TX path.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:26:22 +00:00
Adrian Chadd
fc5870b418
Add an extra mutex for qfullmsk / ring->queued variables.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:25:06 +00:00
Adrian Chadd
a6b6ca52c6
Regroup ring state checks in wpi_tx_done().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:24:11 +00:00
Adrian Chadd
84ad7b3667
Don't use sc->qfullmsk in wpi_start().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:23:45 +00:00
Adrian Chadd
d74e544a1d
turn sc_tx_timeout into its own callout, rather than a global watchdog
...
timer.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:22:03 +00:00
Adrian Chadd
446685e49c
Add mutex for RXON structure; convert some callouts/lock use to use
...
RXON rather than the global WPI lock.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:20:58 +00:00
Adrian Chadd
9e7aab73cd
Use WPI_FILTER_BSS for checking current state.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:19:52 +00:00
Adrian Chadd
0bc39fc6f8
Split TX and scan timeouts; use a callout now for the scan timeout.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:19:15 +00:00
Adrian Chadd
726ddc2648
Add experimental HOSTAP support.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:18:18 +00:00
Adrian Chadd
8483c8c339
Merge wpi_start() and wpi_start_locked().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:17:58 +00:00
Adrian Chadd
7d4ee533d4
Minor optimisation in wpi_limit_dwell()
...
PR: kenr/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:17:03 +00:00
Adrian Chadd
cfe9b1ceb2
Rearrange checks in wpi_send_rxon().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:12:57 +00:00
Adrian Chadd
cec45f0495
Fix some printfs(); add some debugging.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:12:05 +00:00
Adrian Chadd
39060fa992
Add more KASSERTs.
...
(Committer note: these checks will have to be re-established in a future
commit as /well/ as having the KASSERTs.)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:11:00 +00:00
Adrian Chadd
0b90e84501
Disable powersave in IBSS mode (packet loss > 90%.)
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:09:29 +00:00
Adrian Chadd
e49a7038fc
Do some cleanup before device startup.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:08:54 +00:00
Adrian Chadd
b9858d864a
Acquire ifq lock when checking / modifying IFF_DRV_OACTIVE flag.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:08:24 +00:00
Adrian Chadd
77cf0b82c2
Merge wpi_init() and wpi_init_locked().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:07:43 +00:00
Adrian Chadd
5ca7739522
Refactor wpi_ioctl().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:06:36 +00:00
Adrian Chadd
0528191a1a
Add WPI_DEBUG_NODE + some debugging.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:05:59 +00:00
Adrian Chadd
a6df6cfe65
* Add new debug category
...
* Refactor out / restructure / extend debugging information
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:04:55 +00:00
Adrian Chadd
32e4f2f7e9
Remove unrelated comment.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:03:48 +00:00
Adrian Chadd
419435b847
Remove unnecessary assignment.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:02:59 +00:00
Adrian Chadd
7b52621191
Remove unnecessary debug output.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:55:23 +00:00
Adrian Chadd
d29fcfb7c3
Add support for AES-CCMP group keys.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:54:40 +00:00
Adrian Chadd
735c606726
Encrypt frame if IEEE80211_BPF_CRYPTO is set.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:54:10 +00:00
Adrian Chadd
b56fed3da0
Use separate mutex for wv_bcbuf and wv_boff structures.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:53:46 +00:00
Adrian Chadd
d036bb20e3
Add prefixes to field names.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:52:47 +00:00
Adrian Chadd
6f8421f8a5
Use ieee80211_beacon_update() for dynamic beacon contents.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:51:56 +00:00
Adrian Chadd
21f6580ed8
Move beacon initialisation to wpi_init_beacon()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:51:06 +00:00
Adrian Chadd
565248e2ad
Use a static buffer in wpi_cmd - rather than alloc/free'ing the
...
beacon buffer frequently.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:50:23 +00:00
Adrian Chadd
0b455e8fba
Use WPI_RSSI_OFFSET instead of stat->noise (always 0 for me)
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:48:32 +00:00
Adrian Chadd
7e0d52321f
Fix debug category in wpi_read_eeprom_band()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:48:00 +00:00
Adrian Chadd
d138d3badc
Move IBSS assocation processing to wpi_newassoc().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:46:24 +00:00
Adrian Chadd
4eaf2ee348
wpi_tx_done() shouldn't wait for wpi_start().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:45:43 +00:00
Adrian Chadd
7964dd56b7
Add node table lock - addresses LOR in wpi_node_free().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:44:52 +00:00
Adrian Chadd
f736d89885
Optimise sc->rev processing.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:43:58 +00:00
Adrian Chadd
45ac43f30f
Use ring->queued for WPI_CMD_TX_DATA only.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:43:22 +00:00
Adrian Chadd
10550f6135
Move some code under WPI_LOCK().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:42:41 +00:00
Adrian Chadd
0b093122eb
Remove unnecessary locking.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:41:57 +00:00
Adrian Chadd
ff62db1d9d
Eliminate the WPI_FLAG_BUSY flag.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:40:59 +00:00
Adrian Chadd
63f576999e
Add separate lock for TX queues.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:40:11 +00:00
Adrian Chadd
0ebca24555
Wrap node addition in STA mode into wpi_add_sta_node().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:35:25 +00:00