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
Adrian Chadd
eca2eb395c
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 Chadd
f15520d9b0
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 Chadd
f319a41c66
Remove some un-needed variables.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:32:12 +00:00
Adrian Chadd
7167f5fc02
Reformatting - break lines ~ 80 characters.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:31:21 +00:00
Adrian Chadd
7f1299c5cd
wpi_intr(): remove duplicate code
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:30:03 +00:00
Adrian Chadd
8e4cf38ac7
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 Chadd
a5e093b0e0
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 Chadd
76fdf7eb35
msleep() -> mtx_sleep()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:22:16 +00:00
Adrian Chadd
cb0de40f2a
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 Chadd
96dadeb0aa
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 Chadd
bb086d4e83
Fix indentation - non-functional change.
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:19:54 +00:00
Adrian Chadd
ebf62e08fb
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 Chadd
5f25a0e970
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 Chadd
01729242e5
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 Chadd
71258eb207
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 Chadd
e336bd5499
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 Chadd
811fe0a8fb
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 Chadd
0c66281c5f
Add missed ieee80211_draintask()
...
PR: kern/197143
Submitted by: Andriy Voskoboinyk <s3erios@gmail.com>
2015-03-15 20:12:16 +00:00
Adrian Chadd
9facf2b90a
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 Chadd
893edbea10
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 Chadd
8a28176add
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 Chadd
3de934a7a4
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 Chadd
fae61c6918
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 Chadd
692ad7ca94
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 Chadd
e54c8bda3e
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
Gleb Smirnoff
c8dfaf382f
Mechanically convert to if_inc_counter().
2014-09-19 03:51:26 +00:00
Hans Petter Selasky
af3b2549c4
Pull in r267961 and r267973 again. Fix for issues reported will follow.
2014-06-28 03:56:17 +00:00
Glen Barber
37a107a407
Revert r267961, r267973:
...
These changes prevent sysctl(8) from returning proper output,
such as:
1) no output from sysctl(8)
2) erroneously returning ENOMEM with tools like truss(1)
or uname(1)
truss: can not get etype: Cannot allocate memory
2014-06-27 22:05:21 +00:00