adrian
499813723d
* 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
f38ca3cd2c
Remove unrelated comment.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:03:48 +00:00
adrian
74f601e3b3
Remove unnecessary assignment.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 21:02:59 +00:00
adrian
95fa5498ac
Remove unnecessary debug output.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:55:23 +00:00
adrian
4551f82771
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
1602a2842e
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
0db464293f
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
58b329b2fe
Add prefixes to field names.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:52:47 +00:00
adrian
bf066402da
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
99636da706
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
d669a9ec52
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
c55145e06b
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
0ed237a2d3
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
a3ede45007
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
30e73981fa
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
6fa658ae5b
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
f365a6ef78
Optimise sc->rev processing.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:43:58 +00:00
adrian
7458015738
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
91b4fbab31
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
074722eef3
Remove unnecessary locking.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:41:57 +00:00
adrian
92d88f4255
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
69cc0330a0
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
6bcd1d42f7
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
adrian
f27edaaed8
Replace kernel unit allocator with local set of functions.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:34:26 +00:00
adrian
6f4fb98d06
Move key processing in wpi_tx_data.
...
(This is in preparation for further work to support hardware encryption.)
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:33:13 +00:00
adrian
a6f300b09b
Remove some un-needed variables.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:32:12 +00:00
adrian
f90d00ba26
Reformatting - break lines ~ 80 characters.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:31:21 +00:00
adrian
5776b739c4
wpi_intr(): remove duplicate code
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:30:03 +00:00
adrian
98740f52b0
Replace few numbers with named constants.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:29:22 +00:00
adrian
c3b43bc59e
Wrap cast to (struct wpi_node *) into WPI_NODE macros
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:23:58 +00:00
adrian
f61427d227
msleep() -> mtx_sleep()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:22:16 +00:00
adrian
70ea3093d5
Fix warning: Value stored to 'supportsa' is never read.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:21:30 +00:00
adrian
b0ad27987b
Fix error handling in wpi_scan().
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:20:43 +00:00
adrian
ce9daf5c4a
Fix indentation - non-functional change.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:19:54 +00:00
adrian
a2810d8eee
Check some variables only on active TX rings
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:19:01 +00:00
adrian
cd2833f341
Use correct pointer for wpi_softc
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:18:09 +00:00
adrian
a397da3153
Fix panics in wpi_tx_done() when powersave is enabled
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:17:25 +00:00
adrian
9d1fd4985e
Fix races between wpi_rx_done() and wpi_stop()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:15:10 +00:00
adrian
8fa4dd1d50
Divide ackfailcnt by 2 (firmware decreases rate after two unsuccessful retries)
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:13:58 +00:00
adrian
d137511d57
Run callout_reset() with mutex held.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:13:07 +00:00
adrian
86d996754a
Add missed ieee80211_draintask()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:12:16 +00:00
adrian
82a910501a
Fix a typo (IEEE80211_S_SCAN -> IEEE80211_F_SCAN)
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:10:55 +00:00
adrian
24a7a92221
Fix mbuf mapping errors in wpi_cmd2() + add check for nsegs
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:09:47 +00:00
adrian
080efed7d3
Undo some issues from the previous big patch - there's no padding on RX,
...
so remove DATAPAD and re-do the padding in the TX path manually.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-08 01:47:10 +00:00
adrian
6784060c8c
Use the correct mac addresses when initialising things.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3rios@gmail.com>
2015-03-08 01:44:57 +00:00
adrian
7ce561ee68
More fixes to wpi(4), again not by me! Woo!
...
- Use IEEE80211_F_DATAPAD;
- (c->ic_flags & IEEE80211_CHAN_PASSIVE) -> IEEE80211_IS_CHAN_PASSIVE(c);
- Convert ackfailcnt to int (there is dereference to *(int *) in ieee80211_ratectl_tx_complete());
- Fix & move cleanup to the end in wpi_rx_done();
- Add missed lock in wpi_update_beacon();
- Try to fix powersave.
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-02-14 17:45:53 +00:00
adrian
3b47fe6ce1
Big wpi(4) overhaul! Not by me!
...
This is a sync against iwn(4) and openbsd.
- Add power management support;
- Add background scanning support;
- Fix few LORs;
- Handle rfkill switch state changes properly;
- Fix recovering after firmware failure;
- Add more error checking;
- Cleanup & disable by default debug output;
- Update macroses names;
- Other various fixes;
- Add IBSS support:
- don't set data_ntries field for management frames;
- Add AHDEMO support:
- fix padding;
- Sync eeprom functions;
- Use CMD_RXON_ASSOC where possible;
- Enable HW CCMP encryption/decryption for pairwise keys;
- Fix filter flags for CMD_RXON.
Tested (by submitter) - iwn 3945 NIC. I have one somewhere; I'll
validate this later on and revert it if it's a problem.
Thanks!
PR: 197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-02-07 23:11:38 +00:00
adrian
d692929f2b
Remove some hard-coded IE assembly over to use net80211 methods.
...
PR: kern/196069
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2014-12-20 20:07:48 +00:00
glebius
b3b337a80e
Mechanically convert to if_inc_counter().
2014-09-19 03:51:26 +00:00
hselasky
35b126e324
Pull in r267961 and r267973 again. Fix for issues reported will follow.
2014-06-28 03:56:17 +00:00