Skip site navigation (1)Skip section navigation (2)

CVS log for src/sys/dev/iwi/if_iwi.c

[BACK] Up to [FreeBSD] / src / sys / dev / iwi

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.80: download - view: text, markup, annotated - select for diffs
Sat Dec 17 10:23:17 2011 UTC (7 weeks, 5 days ago) by bschmidt
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +7 -7 lines
SVN rev 228621 on 2011-12-17 10:23:17Z by bschmidt

Fix some net80211 enum nits:
- ic_vap_create() uses an ieee80211_opmode argument
- ieee80211_rate2media() takes an ieee80211_phymode argument
- ieee80211_plcp2rate() takes an ieee80211_phytype argument
- cast to enum ieee80211_protmode and ieee80211_roamingmode to silence
  compiler warnings

Submitted by:	arundel@

Revision 1.79.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (2 months, 4 weeks ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.79.2.1: preferred, colored; next MAIN 1.80: preferred, colored
Changes since revision 1.79.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)

Revision 1.79.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.79: preferred, colored; next MAIN 1.80: preferred, colored
Changes since revision 1.79: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)

Revision 1.79: download - view: text, markup, annotated - select for diffs
Tue May 31 19:08:25 2011 UTC (8 months, 1 week ago) by bschmidt
Branches: MAIN
CVS tags: RELENG_9_BP
Branch point for: RELENG_9
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +2 -0 lines
SVN rev 222543 on 2011-05-31 19:08:25Z by bschmidt

Add module version to iwi/ipw/wpi and iwn.

The version is used to check if a module is already preset, not setting
it results in:

can't re-use a leaf (ipw)!
module_register: module pci/ipw already exists!
Module pci/ipw failed to register: 17

while trying to load the module due to an entry in loader.conf. With this
commit we get the expected:

module ipw already present!

Reported by:	Dru Lavigne, bz
Tested by:	bz
MFC after:	1 week

Revision 1.78: download - view: text, markup, annotated - select for diffs
Wed Jan 12 19:53:56 2011 UTC (12 months, 3 weeks ago) by mdf
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +3 -3 lines
SVN rev 217323 on 2011-01-12 19:53:56Z by mdf

sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly.

Commit the rest of the devices.

Revision 1.57.2.6.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.57.2.6: preferred, colored; next MAIN 1.58: preferred, colored
Changes since revision 1.57.2.6: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)

Revision 1.72.2.4.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.72.2.4: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.4: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)

Revision 1.57.2.6: download - view: text, markup, annotated - select for diffs
Tue Nov 16 04:40:03 2010 UTC (14 months, 3 weeks ago) by sobomax
Branches: RELENG_7
CVS tags: RELENG_7_4_BP
Branch point for: RELENG_7_4
Diff to: previous 1.57.2.5: preferred, colored; branchpoint 1.57: preferred, colored; next MAIN 1.58: preferred, colored
Changes since revision 1.57.2.5: +2 -2 lines
SVN rev 215368 on 2010-11-16 04:40:03Z by sobomax

MFC r207554:

    Add new tunable 'net.link.ifqmaxlen' to set default send interface
    queue length. The default value for this parameter is 50, which is
    quite low for many of today's uses and the only way to modify this
    parameter right now is to edit if_var.h file. Also add read-only
    sysctl with the same name, so that it's possible to retrieve the
    current value.

Revision 1.72.2.4: download - view: text, markup, annotated - select for diffs
Mon Nov 15 17:48:13 2010 UTC (14 months, 3 weeks ago) by sobomax
Branches: RELENG_8
CVS tags: RELENG_8_2_BP
Branch point for: RELENG_8_2
Diff to: previous 1.72.2.3: preferred, colored; branchpoint 1.72: preferred, colored; next MAIN 1.73: preferred, colored
Changes since revision 1.72.2.3: +2 -2 lines
SVN rev 215342 on 2010-11-15 17:48:13Z by sobomax

MFC r207554:

  Add new tunable 'net.link.ifqmaxlen' to set default send interface
  queue length. The default value for this parameter is 50, which is
  quite low for many of today's uses and the only way to modify this
  parameter right now is to edit if_var.h file. Also add read-only
  sysctl with the same name, so that it's possible to retrieve the
  current value.

Revision 1.72.2.3: download - view: text, markup, annotated - select for diffs
Mon Nov 1 19:05:38 2010 UTC (15 months, 1 week ago) by bschmidt
Branches: RELENG_8
Diff to: previous 1.72.2.2: preferred, colored; branchpoint 1.72: preferred, colored
Changes since revision 1.72.2.2: +2 -2 lines
SVN rev 214633 on 2010-11-01 19:05:38Z by bschmidt

MFC r214160,214162,214236

r214236 & r214160:
The firmware does pad notifications to an even number of bytes (at least
the association notification), the included information though always
contains an elem block with an odd number of bytes. We handle the last
byte as if it might contain a whole elem block, this of course is not
true as one byte is not enough to hold a block, we therefore discard the
complete frame. The solution here is to subtract one from the actual
notification length, this is also what the Linux driver does. With this
change the frame ends exactly where the last elem block ends.

r214262:
The firmware always sets bit 14 and 15, to get the real associd we need
to clear those bits.

Revision 1.57.2.5: download - view: text, markup, annotated - select for diffs
Mon Nov 1 19:04:16 2010 UTC (15 months, 1 week ago) by bschmidt
Branches: RELENG_7
Diff to: previous 1.57.2.4: preferred, colored; branchpoint 1.57: preferred, colored
Changes since revision 1.57.2.4: +2 -2 lines
SVN rev 214632 on 2010-11-01 19:04:16Z by bschmidt

MFC r214160,214162,214236

r214236 & r214160:
The firmware does pad notifications to an even number of bytes (at least
the association notification), the included information though always
contains an elem block with an odd number of bytes. We handle the last
byte as if it might contain a whole elem block, this of course is not
true as one byte is not enough to hold a block, we therefore discard the
complete frame. The solution here is to subtract one from the actual
notification length, this is also what the Linux driver does. With this
change the frame ends exactly where the last elem block ends.

r214262:
The firmware always sets bit 14 and 15, to get the real associd we need
to clear those bits.

Revision 1.57.2.4: download - view: text, markup, annotated - select for diffs
Tue Oct 26 17:31:46 2010 UTC (15 months, 2 weeks ago) by bschmidt
Branches: RELENG_7
Diff to: previous 1.57.2.3: preferred, colored; branchpoint 1.57: preferred, colored
Changes since revision 1.57.2.3: +32 -1 lines
SVN rev 214383 on 2010-10-26 17:31:46Z by bschmidt

MFC r213729:
Fix monitor mode which is implemented by doing a firmware scan. This
is a port from stable/6, seems like the code got lost during the
background scan changes in r170530.

Revision 1.72.2.2: download - view: text, markup, annotated - select for diffs
Tue Oct 26 17:30:34 2010 UTC (15 months, 2 weeks ago) by bschmidt
Branches: RELENG_8
Diff to: previous 1.72.2.1: preferred, colored; branchpoint 1.72: preferred, colored
Changes since revision 1.72.2.1: +33 -1 lines
SVN rev 214382 on 2010-10-26 17:30:34Z by bschmidt

MFC r213729:
Fix monitor mode which is implemented by doing a firmware scan. This
is a port from stable/6, seems like the code got lost during the
background scan changes in r170530.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Sat Oct 23 11:26:22 2010 UTC (15 months, 2 weeks ago) by bschmidt
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +2 -2 lines
SVN rev 214236 on 2010-10-23 11:26:22Z by bschmidt

The firmware does pad notifications to an even number of bytes (at least
the association notification), the included information though always
contains an elem block with an odd number of bytes. We handle the last
byte as if it might contain a whole elem block, this of course is not
true as one byte is not enough to hold a block, we therefore discard the
complete frame. The solution here is to subtract one from the actual
notification length, this is also what the Linux driver does. With this
change the frames ends exactly where the last elem block ends.

This commit also reverts r214160 which is no longer required and now even
wrong.

MFC after:	1 week

Revision 1.76: download - view: text, markup, annotated - select for diffs
Thu Oct 21 19:30:55 2010 UTC (15 months, 2 weeks ago) by bschmidt
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +1 -1 lines
SVN rev 214162 on 2010-10-21 19:30:55Z by bschmidt

The firmware always sets bit 14 and 15, to get the real associd we need
to clear those bits.

MFC after:	1 week

Revision 1.75: download - view: text, markup, annotated - select for diffs
Thu Oct 21 19:28:52 2010 UTC (15 months, 2 weeks ago) by bschmidt
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +1 -1 lines
SVN rev 214160 on 2010-10-21 19:28:52Z by bschmidt

Instead of calling return when reaching the end of the assoc notification
break the loop instead. We want to run the code after the while loop
to set an associd and capinfo. If we don't do this net80211 will drop
frames because it assumes the node has not yet been associated.

MFC after:	1 week

Revision 1.57.2.3: download - view: text, markup, annotated - select for diffs
Tue Oct 12 17:12:35 2010 UTC (15 months, 4 weeks ago) by bschmidt
Branches: RELENG_7
Diff to: previous 1.57.2.2: preferred, colored; branchpoint 1.57: preferred, colored
Changes since revision 1.57.2.2: +1 -0 lines
SVN rev 213734 on 2010-10-12 17:12:35Z by bschmidt

When bringing the interface down we clear the command queue but do
not reset the sc_cmd_cur and sc_cmd_next indices. If there are
still pending commands while clearing the queue those two indices
are off by at least one. This leads to no commands being sent
to the firmware until the queue overruns. Fix this by also resetting
the indices.

This is a direct commit as the code does not exist in head.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Tue Oct 12 16:52:13 2010 UTC (15 months, 4 weeks ago) by bschmidt
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +33 -1 lines
SVN rev 213729 on 2010-10-12 16:52:13Z by bschmidt

Fix monitor mode which is implemented by doing a firmware scan. This
is a port of stable/6, seems like the code got lost during the
background scan changes in r170530.

Pointed out by:	danfe
MFC after:	2 weeks

Revision 1.72.2.1.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 3 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.72.2.1: preferred, colored; next MAIN 1.72.2.2: preferred, colored
Changes since revision 1.72.2.1: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)

Revision 1.73: download - view: text, markup, annotated - select for diffs
Mon May 3 07:32:50 2010 UTC (21 months, 1 week ago) by sobomax
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +2 -2 lines
SVN rev 207554 on 2010-05-03 07:32:50Z by sobomax

Add new tunable 'net.link.ifqmaxlen' to set default send interface
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.

MFC after:	1 month

Revision 1.57.2.2.6.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (23 months, 4 weeks ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.57.2.2: preferred, colored; next MAIN 1.57.2.3: preferred, colored
Changes since revision 1.57.2.2: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)

Revision 1.72.2.1.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.72.2.1: preferred, colored; next MAIN 1.72.2.2: preferred, colored
Changes since revision 1.72.2.1: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)

Revision 1.72.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
CVS tags: RELENG_8_1_BP, RELENG_8_0_BP
Branch point for: RELENG_8_1, RELENG_8_0
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)

Revision 1.72: download - view: text, markup, annotated - select for diffs
Fri Jul 10 15:28:33 2009 UTC (2 years, 7 months ago) by rpaulo
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +2 -1 lines
SVN rev 195562 on 2009-07-10 15:28:33Z by rpaulo

For ic_opmode switch cases, provide a default label with a printf saying
this opmode is not supported.

Approved by:	re (kib)

Revision 1.71: download - view: text, markup, annotated - select for diffs
Thu May 21 15:30:29 2009 UTC (2 years, 8 months ago) by sam
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +1 -3 lines
SVN rev 192541 on 2009-05-21 15:30:29Z by sam

o remove bpf tap call missed in r192468
o correct rssi taken from rx descriptor; need dbm

Revision 1.70: download - view: text, markup, annotated - select for diffs
Wed May 20 20:00:40 2009 UTC (2 years, 8 months ago) by sam
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +16 -24 lines
SVN rev 192468 on 2009-05-20 20:00:40Z by sam

Overhaul monitor mode handling:
o replace DLT_IEEE802_11 support in net80211 with DLT_IEEE802_11_RADIO
  and remove explicit bpf support from wireless drivers; drivers now
  use ieee80211_radiotap_attach to setup shared data structures that
  hold the radiotap header for each packet tx/rx
o remove rx timestamp from the rx path; it was used only by the tdma support
  for debugging and was mostly useless due to it being 32-bits and mostly
  unavailable
o track DLT_IEEE80211_RADIO bpf attachments and maintain per-vap and
  per-com state when there are active taps
o track the number of monitor mode vaps
o use bpf tap and monitor mode vap state to decide when to collect radiotap
  state and dispatch frames; drivers no longer explicitly directly check
  bpf state or use bpf calls to tap frames
o handle radiotap state updates on channel change in net80211; drivers
  should not do this (unless they bypass net80211 which is almost always
  a mistake)
o update various drivers to be more consistent/correct in handling radiotap
o update ral to include TSF in radiotap'd frames
o add promisc mode callback to wi

Reviewed by:	cbzimmer, rpaulo, thompsa

Revision 1.69: download - view: text, markup, annotated - select for diffs
Sun May 10 02:44:19 2009 UTC (2 years, 9 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +3 -0 lines
SVN rev 191956 on 2009-05-10 02:44:19Z by thompsa

Abort any scan on a fatal firmware. ic_scan_curchan is overridden to perform
the scan in firmware and this relies on the firmware to wake up the scan task
on completion.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Sat May 9 19:22:37 2009 UTC (2 years, 9 months ago) by sam
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +19 -6 lines
SVN rev 191951 on 2009-05-09 19:22:37Z by sam

push wme parameter setting to the taskq thread; the update callback from
net80211 can happen from the ithread and submitting the fw cmd requires
a sleepable context

Revision 1.67: download - view: text, markup, annotated - select for diffs
Fri May 8 13:44:33 2009 UTC (2 years, 9 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +5 -5 lines
SVN rev 191912 on 2009-05-08 13:44:33Z by thompsa

Drain the tasks before the interface stop call in case a restart was queued.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sat May 2 15:14:18 2009 UTC (2 years, 9 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +88 -227 lines
SVN rev 191746 on 2009-05-02 15:14:18Z by thompsa

Create a taskqueue for each wireless interface which provides a serialised
sleepable context for net80211 driver callbacks. This removes the need for USB
and firmware based drivers to roll their own code to defer the chip programming
for state changes, scan requests, channel changes and mcast/promisc updates.
When a driver callback completes the hardware state is now guaranteed to have
been updated and is in sync with net80211 layer.

This nukes around 1300 lines of code from the wireless device drivers making
them more readable and less race prone.

The net80211 layer has been updated as follows
 - all state/channel changes are serialised on the taskqueue.
 - ieee80211_new_state() always queues and can now be called from any context
 - scanning runs from a single taskq function and executes to completion. driver
   callbacks are synchronous so the channel, phy mode and rx filters are
   guaranteed to be set in hardware before probe request frames are
   transmitted.

Help and contributions from Sam Leffler.

Reviewed by:	sam

Revision 1.57.2.2.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.57.2.2: preferred, colored; next MAIN 1.57.2.3: preferred, colored
Changes since revision 1.57.2.2: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)

Revision 1.65: download - view: text, markup, annotated - select for diffs
Mon Mar 30 21:53:27 2009 UTC (2 years, 10 months ago) by sam
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +0 -7 lines
SVN rev 190579 on 2009-03-30 21:53:27Z by sam

Hoist 802.11 encapsulation up into net80211:
o call ieee80211_encap in ieee80211_start so frames passed down to drivers
  are already encapsulated
o remove ieee80211_encap calls in drivers
o fixup wi so it recreates the 802.3 head it requires from the 802.11
  header contents
o move fast-frame aggregation from ath to net80211 (conditional on
  IEEE80211_SUPPORT_SUPERG):
  - aggregation is now done in ieee80211_start; it is enabled when the
    packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames
    are held on a staging queue according to ieee80211_ffagemax
    (net.wlan.ffagemax) to wait for a frame to combine with
  - drivers must call back to age/flush the staging queue (ath does this
    on tx done, at swba, and on rx according to the state of the tx queues
    and/or the contents of the staging queue)
  - remove fast-frame-related data structures from ath
  - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle
    per-node fast-frames state (we reuse 11n tx ampdu state)
o change ieee80211_encap calling convention to include an explicit vap
  so frames coming through a WDS vap are recognized w/o setting M_WDS

With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames.

Reviewed by:	thompsa, rpaulo, avatar, imp, sephe

Revision 1.64: download - view: text, markup, annotated - select for diffs
Sun Mar 29 17:59:14 2009 UTC (2 years, 10 months ago) by sam
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +10 -10 lines
SVN rev 190526 on 2009-03-29 17:59:14Z by sam

Eliminate ic_myaddr so changing the mac address of a device works correctly:
o remove ic_myaddr from ieee80211com
o change ieee80211_ifattach to take the mac address of the physical device
  and use that to setup the lladdr.
o replace all references to ic_myaddr in drivers by IF_LLADDR
o related cleanups (e.g. kill dead code)

PR:		kern/133178
Reviewed by:	thompsa, rpaulo

Revision 1.57.2.2.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.57.2.2: preferred, colored; next MAIN 1.57.2.3: preferred, colored
Changes since revision 1.57.2.2: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)

Revision 1.8.2.16.2.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.8.2.16: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.2.16: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)

Revision 1.57.2.2: download - view: text, markup, annotated - select for diffs
Sun Aug 17 23:00:47 2008 UTC (3 years, 5 months ago) by sam
Branches: RELENG_7
CVS tags: RELENG_7_3_BP, RELENG_7_2_BP, RELENG_7_1_BP
Branch point for: RELENG_7_3, RELENG_7_2, RELENG_7_1
Diff to: previous 1.57.2.1: preferred, colored; branchpoint 1.57: preferred, colored
Changes since revision 1.57.2.1: +1 -1 lines
SVN rev 181802 on 2008-08-17 23:00:47Z by sam

MFC support to return all received information elements in scan results
and station information

Revision 1.63: download - view: text, markup, annotated - select for diffs
Sat Jun 7 18:38:02 2008 UTC (3 years, 8 months ago) by sam
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +4 -3 lines
SVN rev 179643 on 2008-06-07 18:38:02Z by sam

Change the calling convention for ic_node_alloc to deal with
some longstanding issues:
o pass the vap since it's now the "coin of the realm" and required
  to do things like set initial tx parameters in private node
  state for use prior to association
o pass the mac address as cards that maintain outboard station
  tables require this to create an entry (e.g. in ibss mode)
o remove the node table reference, we only have one node table
  and it's unlikely this will change so this is not needed to
  find the com structure

Revision 1.62: download - view: text, markup, annotated - select for diffs
Mon May 12 00:15:28 2008 UTC (3 years, 9 months ago) by sam
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +2 -1 lines
Minor cleanup of vap create work:
o add IEEE80211_C_STA capability to indicate sta mode is supported
  (was previously assumed) and mark drivers as capable
o add ieee80211_opcap array to map an opmode to the equivalent capability bit
o move IEEE80211_C_OPMODE definition to where capabilities are defined so it's
  clear it should be kept in sync (on future additions)
o check device capabilities in clone create before trying to create a vap;
  this makes driver checks unneeded
o make error codes return on failed clone request unique
o temporarily add console printfs on clone request failures to aid in
  debugging; these will move under DIAGNOSTIC or similar before release

Revision 1.61: download - view: text, markup, annotated - select for diffs
Thu May 1 04:54:59 2008 UTC (3 years, 9 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +8 -7 lines
Unify all the wifi *_ioctl routines
 - Limit grabbing the lock to SIOCSIFFLAGS.
 - Move ieee80211_start_all() to SIOCSIFFLAGS.
 - Remove SIOCSIFMEDIA as it is not useful.
 - Limit ether_ioctl to only SIOCGIFADDR. SIOCSIFADDR and SIOCSIFMTU have no
   affect as there is no input/output path in the vap parent.  The vap code
   will handle the reinit of the mac address changes.
 - Split off ndis_ioctl_80211 as it was getting too different to wired devices.

This fixes a copyout while locked and a lock recursion.

Reviewed by:		sam

Revision 1.60: download - view: text, markup, annotated - select for diffs
Sun Apr 20 20:35:37 2008 UTC (3 years, 9 months ago) by sam
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +522 -550 lines
Multi-bss (aka vap) support for 802.11 devices.

Note this includes changes to all drivers and moves some device firmware
loading to use firmware(9) and a separate module (e.g. ral).  Also there
no longer are separate wlan_scan* modules; this functionality is now
bundled into the wlan module.

Supported by:	Hobnob and Marvell
Reviewed by:	many
Obtained from:	Atheros (some bits)

Revision 1.8.2.15.2.1: download - view: text, markup, annotated - select for diffs
Thu Dec 6 10:23:14 2007 UTC (4 years, 2 months ago) by philip
Branches: RELENG_6_3
CVS tags: RELENG_6_3_0_RELEASE
Diff to: previous 1.8.2.15: preferred, colored; next MAIN 1.8.2.16: preferred, colored
Changes since revision 1.8.2.15: +4 -4 lines
MFC if_iwi.c:1.59
    if_ipw.c:1.34

  Plug two potential (root-only, local) information leaks.  buf is not
  initialized before use and returned integrally instead of up to size.

Submitted by:	Ilja van Sprundel <ilja -at- netric.org>
Reviewed by:	secteam
Approved by:	re (kensmith)

Revision 1.8.2.16: download - view: text, markup, annotated - select for diffs
Thu Dec 6 10:16:33 2007 UTC (4 years, 2 months ago) by philip
Branches: RELENG_6
CVS tags: RELENG_6_4_BP
Branch point for: RELENG_6_4
Diff to: previous 1.8.2.15: preferred, colored; branchpoint 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8.2.15: +4 -4 lines
MFC if_iwi.c:1.59
    if_ipw.c:1.34

  Plug two potential (root-only, local) information leaks.  buf is not
  initialized before use and returned integrally instead of up to size.

Submitted by:	Ilja van Sprundel <ilja -at- netric.org>
Reviewed by:	secteam
Approved by:	re (kensmith)

Revision 1.57.2.1: download - view: text, markup, annotated - select for diffs
Thu Dec 6 09:50:48 2007 UTC (4 years, 2 months ago) by philip
Branches: RELENG_7
CVS tags: RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +4 -4 lines
MFC r1.59:

  Plug two potential (root-only, local) information leaks.  buf is not
  initialized before use and returned integrally instead of up to size.

Submitted by:	Ilja van Sprundel <ilja -at- netric.org>
Reviewed by:	secteam
Approved by:	re (kensmith)

Revision 1.59: download - view: text, markup, annotated - select for diffs
Wed Dec 5 19:32:06 2007 UTC (4 years, 2 months ago) by philip
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +4 -4 lines
Plug two potential (root-only, local) information leaks.  buf is not
initialized before use and returned integrally instead of up to size.

Submitted by:	Ilja van Sprundel <ilja -at- netric.org>
Reviewed by:	secteam
MFC after:	1 day

Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Oct 20 23:23:16 2007 UTC (4 years, 3 months ago) by julian
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +2 -2 lines
Rename the kthread_xxx (e.g. kthread_create()) calls
to kproc_xxx as they actually make whole processes.
Thos makes way for us to add REAL kthread_create() and friends
that actually make theads. it turns out that most of these
calls actually end up being moved back to the thread version
when it's added. but we need to make this cosmetic change first.

I'd LOVE to do this rename in 7.0  so that we can eventually MFC the
new kthread_xxx() calls.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Sep 5 23:00:26 2007 UTC (4 years, 5 months ago) by sam
Branches: MAIN
CVS tags: RELENG_7_BP
Branch point for: RELENG_7
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +6 -0 lines
Add missing bits that made bg scanning lame:
o update ic_lastdata to reflect time of last outbound frame
o outbound traffic must preempt/cancel bg scanning to avoid delays

This stuff was somehow missed in the initial import.

Reviewed by:	thompsa, avatar, sephe (earlier version)
Approved by:	re (blanket wireless)

Revision 1.56: download - view: text, markup, annotated - select for diffs
Wed Aug 29 21:52:03 2007 UTC (4 years, 5 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +0 -1 lines
Remove the lock assert from iwi_newstate, this function does not need the lock
to be held and this will falsely trigger if called from net80211.

Reported by:	Munehiro (haro) Matsuda
Reviewed by:	sam
Approved by:	re (kensmith)

Revision 1.55: download - view: text, markup, annotated - select for diffs
Mon Jun 25 20:56:33 2007 UTC (4 years, 7 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +17 -16 lines
The config.use_protection option can not be used in 802.11b mode and causes a
firmware reset. Also zero out struct iwi_rateset although its not strictly
necessary.

Reported by:	Maxim Konovalov
Reviewed by:	sam
Approved by:	re (bmah)

Revision 1.54: download - view: text, markup, annotated - select for diffs
Mon Jun 11 10:56:06 2007 UTC (4 years, 8 months ago) by thompsa
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +24 -7 lines
MFp4 (missed in net80211 megaupdate)
 - Use a seperate taskqueue+thread for reset tasks since iwi_ops will
   block.
 - Return from iwi_ops if the interface has been downed
 - The firmware will fail if we are already associated
 - Add myself to the copyright

Revision 1.53: download - view: text, markup, annotated - select for diffs
Mon Jun 11 03:36:51 2007 UTC (4 years, 8 months ago) by sam
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +497 -369 lines
Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
  fully enumerated and uniquely identify the operating characteristics;
  these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
  background scanning and roaming
o move scanning support into loadable modules based on the operating
  mode to enable different policies and reduce the memory footprint
  on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
  mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
  we use a simple algorithm to trigger a roam: we threshold the rssi
  and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
  drivers but is incomplete; it's included now to establish a baseline
  for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
  prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
  encapsulation (note this can be used with any card that can tx+rx
  large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
  authentication and association failures
o enable the addition of sta mode power save support for drivers that need
  net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
  results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
  index into the rate set; this needs to be extended to deal with
  multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing

Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
       dynamic turbo (lightly tested), 11n (sniffing only and needs
       new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
       rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested

This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others.  Much of the scanning work was supported by
Atheros.  The 11n work was supported by Marvell.

Revision 1.8.2.15: download - view: text, markup, annotated - select for diffs
Sat Mar 31 21:57:27 2007 UTC (4 years, 10 months ago) by sam
Branches: RELENG_6
CVS tags: RELENG_6_3_BP
Branch point for: RELENG_6_3
Diff to: previous 1.8.2.14: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.14: +0 -19 lines
MFC 1.51: allow net80211 to fillin rate sets

Revision 1.8.2.14: download - view: text, markup, annotated - select for diffs
Wed Mar 28 16:53:55 2007 UTC (4 years, 10 months ago) by jhb
Branches: RELENG_6
Diff to: previous 1.8.2.13: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.13: +1 -1 lines
MFC: Fix an off-by-one error that prevented the firmware DMA buffer from
being reused in the common case.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Wed Mar 21 18:40:31 2007 UTC (4 years, 10 months ago) by jhb
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +1 -1 lines
Fix an off-by-one error in iwi_init_fw_dma().  It didn't reuse the existing
DMA memory for a firmware load if it was the exact size needed, thus in the
common case the driver was constantly free'ing and reallocating the DMA
buffer and it would eventually begin to fail.  With this fix, iwi0 reuses
the same buffer the entire time and no longer fails to load the firmware
after the machine has been up for a while.

MFC after:	1 week

Revision 1.51: download - view: text, markup, annotated - select for diffs
Sun Mar 11 22:39:13 2007 UTC (4 years, 11 months ago) by sam
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +0 -19 lines
allow net80211 to fillin rate sets

MFC after:	2 weeks

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Mar 11 22:37:31 2007 UTC (4 years, 11 months ago) by sam
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +2 -6 lines
change ic_modecaps to a bit vector and use setbit, et. al.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Fri Feb 23 12:18:44 2007 UTC (4 years, 11 months ago) by piso
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +1 -1 lines
o break newbus api: add a new argument of type driver_filter_t to
  bus_setup_intr()

o add an int return code to all fast handlers

o retire INTR_FAST/IH_FAST

For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current

Reviewed by: many
Approved by: re@

Revision 1.8.2.13: download - view: text, markup, annotated - select for diffs
Thu Feb 22 19:10:48 2007 UTC (4 years, 11 months ago) by luigi
Branches: RELENG_6
Diff to: previous 1.8.2.12: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.12: +145 -92 lines
MFC: sync firmware(9) and iwi(4) with the version in HEAD (the changes
are related and this is why the MFC is done together).
In detail:

firmware(9):
  Cleanup and document the implementation of firmware(9) based on
  a version that i posted earlier on the -current mailing list,
  and subsequent feedback received. See the commit log
	luigi       2007-02-15 17:21:31 UTC
  The core of the change is just in sys/firmware.h and kern/subr_firmware.c,
  while other files are just adaptation of the clients to the ABI change
  (const-ification of some parameters and hiding of internal info,
  so this is fully compatible at the binary level).

  Note that in RELENG_6 sys/arm/xscale/ixp425, sys/dev/ipw and
  sys/dev/mxge do not exist or have not been updated to use firmware(9).

iwi(4)
  + add debugging code IWI_LOCK_CHECK() to print (under sysctl debug.iwi)
    missing locks;
  + make sure that iwi_ioctl() wait until the previous iwi_cmd() terminates.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Tue Feb 20 17:32:30 2007 UTC (4 years, 11 months ago) by luigi
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +19 -22 lines
Rename IWI_LOCK_ASSERT to IWI_LOCK_CHECK per Sam's suggestion,
and make it print under debug.iwi control same as other debugging stuff.

Remove the device_printf() in iwi_ioctl() and replace with this:

        /*
         * wait until pending iwi_cmd() are completed, to avoid races
         * that could cause problems.
         */
        while (sc->flags & IWI_FLAG_BUSY)
                msleep(sc, &sc->sc_mtx, 0, "iwiioctl", hz);

This at least prevents what has become an almost systematic failure for my
system, presumably due to a previous iwi_cmd() not complete yet by the
time iwi_ioctl() is called.

It has been pointed to my attention that the real problem could be
calling ieee80211_ioctl() with the lock held. If that is true,
there might still be a possibility for a race condition e.g. an
interrupt coming while the ioctl is sleeping.
Need to investigate further on what changes are required to release
the lock before calling ieee80211_ioctl

Revision 1.47: download - view: text, markup, annotated - select for diffs
Tue Feb 20 15:45:59 2007 UTC (4 years, 11 months ago) by luigi
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +127 -78 lines
Address a few issues with the iwi driver, namely:

+ do not release the dma-ble region used for downloading firmware.
  This should fix the problems that some people were seeing, due to
  memory becoming too fragmented which prevented subsequent allocations
  of a suitable contiguous region of memory;

+ document the firmware format and usage in if_iwivar.h

+ use a loop to allocate the four tx rings, instead of replicating
  the body of the loop.

+ add debugging code IWI_LOCK_ASSERT() to detect missing locks.
  These only do a printf, and should go away once we figure out why
  the driver sometimes freezes the system due to a (yet unidentified)
  race condition.

+ add a device_printf() in iwi_ioctl() in certain conditions
  (see comment in the code).  This helps preventing the race condition
  mentioned above, and makes the system survive. This printf will
  also go away once fixing this bug is completed.

+ change iwi_getfw() to return 0 on success, 1 on error, consistently
  with other functions.

+ fix the argument of a sizeof() in iwi_get_firmware()

+ use le32toh() to access little-endian fields

+ simplify error handling in iwi_load_firmware() and iwi_init_locked()

The bugs fixed by this commit (the freezing one especially) are serious
enough to call for a quick MFC

MFC after: 3 days

Revision 1.46: download - view: text, markup, annotated - select for diffs
Thu Feb 15 17:21:31 2007 UTC (4 years, 11 months ago) by luigi
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +2 -2 lines
Cleanup and document the implementation of firmware(9) based on
a version that i posted earlier on the -current mailing list,
and subsequent feedback received.

The core of the change is just in sys/firmware.h and kern/subr_firmware.c,
while other files are just adaptation of the clients to the ABI change
(const-ification of some parameters and hiding of internal info,
so this is fully compatible at the binary level).

In detail:
- reduce the amount of information exported to clients in struct firmware,
  and constify the pointer;

- internally, document and simplify the implementation of the various
  functions, and make sure error conditions are dealt with properly.

The diffs are large, but the code is really straightforward now (i hope).

Note also that there is a subtle issue with the implementation of
firmware_register(): currently, as in the previous version, we just
store a reference to the 'imagename' argument, but we should rather
copy it because there is no guarantee that this is a static string.
I realised this while testing this code, but i prefer to fix it in
a later commit -- there is no regression with respect to the past.

Note, too, that the version in RELENG_6 has various bugs including
missing locks around the module release calls, mishandling of modules
loaded by /boot/loader, and so on, so an MFC is absolutely necessary
there.  I was just postponing it until this cleanup to avoid doing
things twice.

MFC after: 1 week

Revision 1.45: download - view: text, markup, annotated - select for diffs
Fri Feb 2 05:17:18 2007 UTC (5 years ago) by kevlo
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +18 -15 lines
Use bus_get_dma_tag() so iwi(4) works on platforms requiring it.

Approved by: cognet

Revision 1.8.2.12: download - view: text, markup, annotated - select for diffs
Tue Jan 23 22:17:48 2007 UTC (5 years ago) by jhb
Branches: RELENG_6
Diff to: previous 1.8.2.11: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.11: +2 -3 lines
MFC: Fix some edge cases in detach.

Revision 1.8.2.11: download - view: text, markup, annotated - select for diffs
Fri Jan 19 23:01:29 2007 UTC (5 years ago) by jhb
Branches: RELENG_6
Diff to: previous 1.8.2.10: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.10: +3 -3 lines
MFC: Change the life cycle of bpf interface objects to close attach/detach
races with bpf(4).  This includes shims to preserve the ABI for any old
modules.  For more details see the commit log for 1.166 of sys/net/bpf.c.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Thu Dec 7 15:24:38 2006 UTC (5 years, 2 months ago) by kevlo
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +2 -0 lines
Add header files <sys/lock.h> and <sys/mutex.h> for mtx_init() and friends.

Approved by: cognet

Revision 1.43: download - view: text, markup, annotated - select for diffs
Wed Dec 6 21:23:51 2006 UTC (5 years, 2 months ago) by mlaier
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +3 -0 lines
Drop the iwi softc lock when calling back into net80211 on rx.  This fixes a
LOR with direct dispatch in the netisr.

Reported and tested by:	Munehiro Matsuda
Submitted by:		jhb
LOR id:			194

Revision 1.42: download - view: text, markup, annotated - select for diffs
Tue Nov 7 19:03:42 2006 UTC (5 years, 3 months ago) by jhb
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +2 -3 lines
Fix some edge cases in detach (including attach failures):
- Only call iwi_stop() if we got far enough along in iwi_attach() to
  alloc an ifnet.
- Release the firmware after stopping the interface and detaching the
  ifnet.

MFC after:	1 month
Reviewed by:	sam

Revision 1.8.2.10: download - view: text, markup, annotated - select for diffs
Sun Oct 29 08:29:31 2006 UTC (5 years, 3 months ago) by mlaier
Branches: RELENG_6
CVS tags: RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2
Diff to: previous 1.8.2.9: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.9: +5 -0 lines
MFC if_iwi.c 1.41, if_iwireg.h 1.13:
  Truncate negotiated rate set to the number of rates that the firmware
  supports.

  Found by:		Jeremie Le Hen
  Obtained from:	OpenBSD (w/ changes)

Approved by:		re (hrs)

Revision 1.41: download - view: text, markup, annotated - select for diffs
Mon Oct 23 00:34:07 2006 UTC (5 years, 3 months ago) by mlaier
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +5 -0 lines
net80211 seems to give us more rates than specified via ic_sup_rates under
yet to be investigated circumstances. If that happens truncate to the number
of rates that the firmware supports.

Found by:	Jeremie Le Hen
Obtained from:	OpenBSD (w/ changes)
MFC after:	3 days

Revision 1.8.2.9: download - view: text, markup, annotated - select for diffs
Fri Oct 13 18:32:43 2006 UTC (5 years, 3 months ago) by mlaier
Branches: RELENG_6
Diff to: previous 1.8.2.8: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.8: +17 -3 lines
MFC, if_iwi.c 1.40:
    Remind firmware of the ESSID to use in a directed scan.  This fixes
    scanning for hidden APs when we are not comming from iwi_config.

    Reported by:	Andrew N. Below

Approved by:		re (hrs)

Revision 1.40: download - view: text, markup, annotated - select for diffs
Tue Oct 10 18:02:22 2006 UTC (5 years, 4 months ago) by mlaier
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +17 -3 lines
Remind firmware of the ESSID to use in a directed scan.  This fixes scanning
for hidden APs when we are not comming from iwi_config.

Reported by:	Andrew N. Below
MFC after:	3 days

Revision 1.8.2.8: download - view: text, markup, annotated - select for diffs
Thu Aug 10 06:08:51 2006 UTC (5 years, 6 months ago) by sam
Branches: RELENG_6
Diff to: previous 1.8.2.7: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.7: +1 -0 lines
MFC 1.39: set default beacon miss threshold to 10 beacons

Revision 1.39: download - view: text, markup, annotated - select for diffs
Wed Jul 26 03:09:32 2006 UTC (5 years, 6 months ago) by sam
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +1 -0 lines
set default beacon miss threshold to 10 beacons

Submitted by:	Henrik Brix Andersen <henrik@brixandersen.dk>
MFC after:	2 weeks

Revision 1.8.2.7: download - view: text, markup, annotated - select for diffs
Tue Jul 11 00:00:29 2006 UTC (5 years, 7 months ago) by mlaier
Branches: RELENG_6
Diff to: previous 1.8.2.6: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.6: +1525 -618 lines
MFC iwi update:
  Sync with if_iwi.c 1.35, if_iwireg.h 1.12, if_iwivar.h 1.11
  Lots of changes.

  This version now requires net/iwi-firmware-kmod so we also bump
  __FreeBSD_version to use in the port.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Jun 2 23:14:39 2006 UTC (5 years, 8 months ago) by sam
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +1 -1 lines
add missed calls to bpf_peers_present

Revision 1.37: download - view: text, markup, annotated - select for diffs
Fri Jun 2 19:59:31 2006 UTC (5 years, 8 months ago) by csjp
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +2 -2 lines
Fix the following bpf(4) race condition which can result in a panic:

	(1) bpf peer attaches to interface netif0
	(2) Packet is received by netif0
	(3) ifp->if_bpf pointer is checked and handed off to bpf
	(4) bpf peer detaches from netif0 resulting in ifp->if_bpf being
	    initialized to NULL.
	(5) ifp->if_bpf is dereferenced by bpf machinery
	(6) Kaboom

This race condition likely explains the various different kernel panics
reported around sending SIGINT to tcpdump or dhclient processes. But really
this race can result in kernel panics anywhere you have frequent bpf attach
and detach operations with high packet per second load.

Summary of changes:

- Remove the bpf interface's "driverp" member
- When we attach bpf interfaces, we now set the ifp->if_bpf member to the
  bpf interface structure. Once this is done, ifp->if_bpf should never be
  NULL. [1]
- Introduce bpf_peers_present function, an inline operation which will do
  a lockless read bpf peer list associated with the interface. It should
  be noted that the bpf code will pickup the bpf_interface lock before adding
  or removing bpf peers. This should serialize the access to the bpf descriptor
  list, removing the race.
- Expose the bpf_if structure in bpf.h so that the bpf_peers_present function
  can use it. This also removes the struct bpf_if; hack that was there.
- Adjust all consumers of the raw if_bpf structure to use bpf_peers_present

Now what happens is:

	(1) Packet is received by netif0
	(2) Check to see if bpf descriptor list is empty
	(3) Pickup the bpf interface lock
	(4) Hand packet off to process

From the attach/detach side:

	(1) Pickup the bpf interface lock
	(2) Add/remove from bpf descriptor list

Now that we are storing the bpf interface structure with the ifnet, there is
is no need to walk the bpf interface list to locate the correct bpf interface.
We now simply look up the interface, and initialize the pointer. This has a
nice side effect of changing a bpf interface attach operation from O(N) (where
N is the number of bpf interfaces), to O(1).

[1] From now on, we can no longer check ifp->if_bpf to tell us whether or
    not we have any bpf peers that might be interested in receiving packets.

In collaboration with:	sam@
MFC after:	1 month

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue May 16 14:36:27 2006 UTC (5 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +0 -1 lines
Since DELAY() was moved,  most <machine/clock.h> #includes have been
unnecessary.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Apr 27 21:43:37 2006 UTC (5 years, 9 months ago) by mlaier
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +1538 -631 lines
MFp4: reworked iwi-driver

Changelog towards if_iwi.c 1.26 (some changes have been committed separately
in the mean time):

- add led support
- add firmware loading on demand
 - auto-restart firmware when it crashes
 - serialize operations sent to the firmware to reduce firmware crashes
- add power save operation support
 - remove incorrect specification of tx power control capability
- add radio on/off switch support

- improve net80211 state machine operation
 - recognize and handle beacon miss
 - handle authentication and association failures better
 - add shared key authentication
 - fix ibss mode (many changes)
 - fix wme (many changes)
- correct radiotap support (many changes)
- correct bus dma setup of s/g
- correct various locking issues
- fix monitor mode
- fix scanning (many changes)
 - recover from wedged scan requests
 - respect active channel list
- eliminate cases where interface was marked down on error
- don't treat parity errors as fatal
- reclaim mgt frames immediately from tx queue
- correct interrupt handling, ack early (from NetBSD)
- fix short/long preamble handling

Committed with RELENG_6 compat #if's, should compile in RELENG_6.  Requires
net/iwi-firmware-kmod to function.

Much work done by:	sam
Tested by:		many (freebsd-net), ume, luigi
MFC after:		4 weeks

Revision 1.34: download - view: text, markup, annotated - select for diffs
Sun Mar 12 18:54:40 2006 UTC (5 years, 11 months ago) by damien
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +32 -17 lines
o don't use '-' characters in firmware names
o call firmware_put() early to release the firmware module
o on firmware panics or watchdog timeouts, schedule a task to reinitialize
  the interface (we may sleep in iwi_init())
o discard oversized rx frames

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sat Mar 11 13:30:21 2006 UTC (5 years, 11 months ago) by damien
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +1 -0 lines
add dependency with firmware module.
pointed out by Martin Wilke.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Sat Mar 11 08:36:15 2006 UTC (5 years, 11 months ago) by ru
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +2 -2 lines
Fix build.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri Mar 10 20:35:08 2006 UTC (5 years, 11 months ago) by damien
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +12 -9 lines
o acknowledge interrupts early in the interrupt handler
o stop processing interrupts after a firmware fatal error or a radio kill
o clarify the possible values for the 'antenna' sysctl.
o by default, let the firmware do antenna diversity.
  the  firmware will periodically switch to another antenna to evaluate the
  signal quality.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Fri Mar 10 19:59:09 2006 UTC (5 years, 11 months ago) by damien
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +70 -157 lines
make use of the firmware(9) subsystem.
use intel's firmware version 3.0 layout.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Fri Mar 10 18:55:30 2006 UTC (5 years, 11 months ago) by damien
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +72 -26 lines
fix the locking.

Revision 1.8.2.6: download - view: text, markup, annotated - select for diffs
Thu Feb 23 02:06:46 2006 UTC (5 years, 11 months ago) by sam
Branches: RELENG_6
CVS tags: RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1
Diff to: previous 1.8.2.5: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.5: +1 -1 lines
MFC 1.28: correct check for whether wpa is enabled

Approved by:	re (scottl)

Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Feb 20 20:49:56 2006 UTC (5 years, 11 months ago) by sam
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +1 -1 lines
correct check for whether wpa is enabled

MFC after:	3 days

Revision 1.8.2.5: download - view: text, markup, annotated - select for diffs
Sun Jan 29 13:54:19 2006 UTC (6 years ago) by damien
Branches: RELENG_6
Diff to: previous 1.8.2.4: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.4: +93 -74 lines
sync with HEAD:

r1.27:
o Re-enable scatter/gather
o Change MEM_READ_1/MEM_READ_4 into macros (move them to if_iwireg.h)
o Add support for association LED
o Silently discard f/w notifications that are unknown (fixes spurious
  "unknown notification 15" in logs with latest firmware)
o Fix scanning of 5GHz channels

r1.23:
Fix endianness issues.  iwi now works on big endian architectures too.

r1.22
Be more robust when handling Rx interrupts.  If we can't allocate and DMA map
a new mbuf, just discard the received frame and reuse the old mbuf.
This should fix kernel panics on high network traffic.

r1.20:
o Use firmware extended scan command; this one doesn't crash when scanning
  the 5GHz band.
o Enable 802.11a channels scanning for 2915ABG adapters.
o Fix a typo (negociated->negotiated).

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sun Jan 29 12:03:03 2006 UTC (6 years ago) by damien
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +28 -33 lines
o Re-enable scatter/gather
o Change MEM_READ_1/MEM_READ_4 into macros (move them to if_iwireg.h)
o Add support for association LED
o Silently discard f/w notifications that are unknown (fixes spurious
  "unknown notification 15" in logs with latest firmware)
o Fix scanning of 5GHz channels

Revision 1.26: download - view: text, markup, annotated - select for diffs
Sun Nov 20 16:02:04 2005 UTC (6 years, 2 months ago) by damien
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +1 -1 lines
Don't use /etc/firmware.  /etc is for configuration files only.
Use /boot to store firmware files instead.

Requested by:	Daniel O'Connor, Scott Long

Revision 1.25: download - view: text, markup, annotated - select for diffs
Sun Nov 20 04:27:24 2005 UTC (6 years, 2 months ago) by scottl
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +4 -2 lines
Fix compile on 64-bit platforms.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Sat Nov 19 16:54:55 2005 UTC (6 years, 2 months ago) by damien
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +157 -136 lines
Load firmware images directly from the filesystem (looks into /etc/firmware
directory by default) without requiring the user to load them by hand using
e.g iwicontrol.  Get rid of the old ioctl crud.
Updated iwi-firmware port coming soon.

Obtained from:	OpenBSD

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Nov 13 17:38:02 2005 UTC (6 years, 2 months ago) by damien
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +10 -10 lines
Fix endianness issues.  iwi now works on big endian architectures too.

Obtained from:	NetBSD (scw@)
MFC after:	2 weeks

Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Nov 13 17:16:06 2005 UTC (6 years, 2 months ago) by damien
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +40 -20 lines
Be more robust when handling Rx interrupts.  If we can't allocate and DMA map
a new mbuf, just discard the received frame and reuse the old mbuf.
This should fix kernel panics on high network traffic.

Obtained from:  NetBSD (joerg@)
MFC after:      2 weeks

Revision 1.21: download - view: text, markup, annotated - select for diffs
Fri Oct 7 18:11:32 2005 UTC (6 years, 4 months ago) by damien
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +3 -3 lines
Fixes my previous commit (rev 1.20)

MFC after:	1 day

Revision 1.20: download - view: text, markup, annotated - select for diffs
Thu Oct 6 20:11:01 2005 UTC (6 years, 4 months ago) by damien
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +14 -11 lines
o Use firmware extended scan command; this one doesn't crash when scanning
  the 5GHz band.
o Enable 802.11a channels scanning for 2915ABG adapters.
o Fix a typo (negociated->negotiated).

With hints from NetBSD.

MFC after:	2 days

Revision 1.8.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 26 17:31:36 2005 UTC (6 years, 4 months ago) by damien
Branches: RELENG_6
CVS tags: RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0
Diff to: previous 1.8.2.3: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.3: +338 -78 lines
sync with HEAD.

o Brings WME and IBSS support.
o Fix association with APs hiding their SSIDs.

Approved by:	re (scottl)

Revision 1.19: download - view: text, markup, annotated - select for diffs
Mon Sep 19 18:59:04 2005 UTC (6 years, 4 months ago) by damien
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +67 -40 lines
Use phk's kernel unit number allocator to associate unique ids to neighbors
in an IBSS.  Store ids directly into ieee80211_node's instead of managing
our own private association table.  Idea and code by Sam Leffler.

Submitted by:	sam
MFC after:	5 days

Revision 1.18: download - view: text, markup, annotated - select for diffs
Mon Sep 19 16:26:52 2005 UTC (6 years, 4 months ago) by damien
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -1 lines
It's safe to wait for command completion in iwi_config().

MFC after:	5 days

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Sep 19 03:10:18 2005 UTC (6 years, 4 months ago) by imp
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -1 lines
Make sure that we call if_free(ifp) after bus_teardown_intr.  Since we
could get an interrupt after we free the ifp, and the interrupt
handler depended on the ifp being still alive, this could, in theory,
cause a crash.  Eliminate this possibility by moving the if_free to
after the bus_teardown_intr() call.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Sep 17 12:41:05 2005 UTC (6 years, 4 months ago) by damien
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +93 -25 lines
o Add initial bits for IBSS support.
o Allow association with APs that do not broadcast SSID (with hints from
  Nick Hudson and Hajimu Umemoto).
o IFQ_DRV_PREPEND mbuf when h/w ring is full so it can be sent later.
o Increment if_oerrors when appropriate.
o Did some cleanup while I'm here.

MFC after:	1 day

Revision 1.8.2.3: download - view: text, markup, annotated - select for diffs
Sat Sep 3 22:46:42 2005 UTC (6 years, 5 months ago) by sam
Branches: RELENG_6
Diff to: previous 1.8.2.2: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.2: +7 -11 lines
sync with HEAD after net80211 changes:
o ic_curchan
o beacon/listen interval split
o split tx+rx crypto key and h/w key index -> node mapping support

Also for ath:
o correct duration calculation when protection is enabled

Also for wi:
o handle all-zero mac address properly
o fix media status handling so devd recognizes cards on insert

Also for ipw/iwi:
o always include statistics sysctls (was only when compiled w/ debugging)
o honor manual roaming setting

Also for ral/ural:
o fix basic rate set
o fix IFS parameters
o honor operating mode when selecting ack rate
o honor manual roaming setting

Approved by:	re (scottl)

Revision 1.8.2.2: download - view: text, markup, annotated - select for diffs
Thu Aug 25 05:01:11 2005 UTC (6 years, 5 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.8.2.1: preferred, colored; branchpoint 1.8: preferred, colored
Changes since revision 1.8.2.1: +11 -11 lines
Merge linux_ioctl.c:1.128 svr4_sockio.c:1.17 altq_cbq.c:1.3 if_oltr.c:1.38
if_pflog.c:1.14 if_pfsync.c:1.21 if_an.c:1.70 if_ar.c:1.72 if_arl.c:1.11
amrr.c:1.10 onoe.c:1.10 if_ath.c:1.101 awi.c:1.41 if_bfe.c:1.27
if_bge.c:1.93 if_cm_isa.c:1.7 smc90cx6.c:1.16 if_cnw.c:1.20 if_cp.c:1.25
if_cs.c:1.42 if_ct.c:1.26 if_cx.c:1.46 if_ed.c:1.256 if_em.c:1.68
if_en_pci.c:1.37 midway.c:1.66 if_ep.c:1.143 if_ex.c:1.58 if_fatm.c:1.20
if_fe.c:1.93 if_fwe.c:1.38 if_fwip.c:1.8 if_fxp.c:1.244 if_gem.c:1.33
if_hatm.c:1.25 if_hatm_intr.c:1.20 if_hatm_ioctl.c:1.13 if_hatm_rx.c:1.10
if_hatm_tx.c:1.14 if_hme.c:1.39 if_ie.c:1.104 if_ndis.c:1.101
if_ic.c:1.24 if_ipw.c:1.10 if_iwi.c:1.10 if_ixgb.c:1.13 if_lge.c:1.41
if_lnc.c:1.113 if_my.c:1.31 if_nge.c:1.77 if_nve.c:1.10 if_owi.c:1.12
if_patm.c:1.9 if_patm_intr.c:1.6 if_patm_ioctl.c:1.10 if_patm_tx.c:1.10
pdq_ifsubr.c:1.28 if_plip.c:1.38 if_ral.c:1.12 if_ral_pci.c:1.2
if_ray.c:1.81 if_rayvar.h:1.22 if_re.c:1.49 if_sbni.c:1.21 if_sbsh.c:1.14
if_sn.c:1.48 dp83932.c:1.21 if_snc_pccard.c:1.9 if_sr.c:1.70 if_tx.c:1.91
if_txp.c:1.33 if_aue.c:1.92 if_axe.c:1.32 if_cdce.c:1.8 if_cue.c:1.59
if_kue.c:1.66 if_rue.c:1.23 if_udav.c:1.16 if_ural.c:1.12 if_vge.c:1.16
if_vx.c:1.58 if_wi.c:1.185 if_wi_pci.c:1.26 if_wl.c:1.68 if_xe.c:1.60
if_xe_pccard.c:1.30 if_el.c:1.68 i4b_ipr.c:1.35 i4b_isppp.c:1.31
kern_poll.c:1.20 bridge.c:1.94 bridgestp.c:1.4 if_arcsubr.c:1.27
if_atm.h:1.24 if_atmsubr.c:1.40 if_bridge.c:1.16 if_ef.c:1.35
if_ethersubr.c:1.196 if_faith.c:1.37 if_fddisubr.c:1.100 if_fwsubr.c:1.14
if_gif.c:1.54 if_gre.c:1.34 if_iso88025subr.c:1.70 if_loop.c:1.107
if_ppp.c:1.106 if_spppsubr.c:1.121 if_tap.c:1.57 if_tun.c:1.154
if_vlan.c:1.80 ppp_tty.c:1.67 ieee80211_ioctl.c:1.32 atm_if.c:1.31
ng_eiface.c:1.33 ng_ether.c:1.50 ng_fec.c:1.19 ng_iface.c:1.44
ng_sppp.c:1.9 ip_carp.c:1.30 ip_fastfwd.c:1.30 in6.c:1.53 nd6_nbr.c:1.31
natm.c:1.40 if_dc.c:1.162 if_de.c:1.168 if_pcn.c:1.72 if_rl.c:1.154
if_sf.c:1.84 if_sis.c:1.135 if_sk.c:1.108 if_ste.c:1.86 if_ti.c:1.109
if_tl.c:1.101 if_vr.c:1.106 if_wb.c:1.81 if_xl.c:1.194 from HEAD to
RELENG_6:

  Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
  IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
  ifnet.if_drv_flags.  Device drivers are now responsible for
  synchronizing access to these flags, as they are in if_drv_flags.  This
  helps prevent races between the network stack and device driver in
  maintaining the interface flags field.

  Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
  some less so.

  Reviewed by:    pjd, bz

Approved by:	re (scottl)

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sun Aug 21 09:52:18 2005 UTC (6 years, 5 months ago) by damien
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +62 -2 lines
Enhanced WME (802.11e) support.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Aug 20 16:49:03 2005 UTC (6 years, 5 months ago) by damien
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +168 -65 lines
Add some necessary bits for upcoming 802.11e support:
o management of multiple tx rings (up to 4)
o setting of WME IE in association requests

Some features are still missing though, like the possibility to override
the default cwmin/cwmax/asfn values of each tx queues.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sat Aug 20 14:34:54 2005 UTC (6 years, 5 months ago) by damien
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +0 -6 lines
Export adapter's internal statistics sysctl even if IWI_DEBUG is not defined.

MFC after:	1 week

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Aug 20 14:28:36 2005 UTC (6 years, 5 months ago) by damien
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +6 -4 lines
Don't automatically start scanning in if_init() if IEEE80211_ROAMING_MANUAL
flag is set.

MFC after:	1 week

Revision 1.11: download - view: text, markup, annotated - select for diffs
Wed Aug 17 14:08:52 2005 UTC (6 years, 5 months ago) by jhb
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +1 -1 lines
Catch up to ic_curchan changes by making the same change here that was made
in ipw(4) in the earlier ic_curchan mega commit.

Submitted by:	Øyvind Kolbu oyvind at kolbu dot ws
Tested by:	Stefan Ehmann shoesoft at gmx dot net

Revision 1.10: download - view: text, markup, annotated - select for diffs
Tue Aug 9 10:19:49 2005 UTC (6 years, 6 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +11 -11 lines
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags.  Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags.  This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.

Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.

Reviewed by:	pjd, bz
MFC after:	7 days

Revision 1.8.2.1: download - view: text, markup, annotated - select for diffs
Fri Jul 29 23:31:03 2005 UTC (6 years, 6 months ago) by sam
Branches: RELENG_6
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -1 lines
Sync wireless support from HEAD:

o numerous net80211 fixes including fixes for internal bridging,
  frag threshold ioctl, rts threshold bounds checking, min wep
  length check, reject assoc requests w/ wpa/rsn ie when wpa
  is not configured
o misc api changes to reduce differences against forthcoming changes
o add stats for future use and reserve space
o probe inactive neighbors in adhoc mode before timing them out
o debug msg fixups (diff reduction against forthcoming code)
o driver mods to track api changes

Also for ath driver:
o fix diversity handling
o use any fixed antenna setting when sending beacons in adhoc mode

Approved by:	re (kensmith)

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Jul 22 17:36:12 2005 UTC (6 years, 6 months ago) by sam
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -1 lines
simplify ieee80211_node_authorize and ieee80211_node_unauthorize api's

MFC after:	3 days

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Jul 10 00:17:04 2005 UTC (6 years, 7 months ago) by sam
Branches: MAIN
CVS tags: RELENG_6_BP
Branch point for: RELENG_6
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +0 -12 lines
remove driver-private  key allocators; use the default one instead
so wpa keys are handled properly

Reviewed by:	avatar
Approved by:	re (scottl)

Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Jul 8 16:31:18 2005 UTC (6 years, 7 months ago) by sam
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +3 -1 lines
reclaim node reference when ieee80211_encap fails

Reviewed by:	avatar
Approved by:	re (scottl)

Revision 1.6: download - view: text, markup, annotated - select for diffs
Thu Jul 7 02:55:03 2005 UTC (6 years, 7 months ago) by sam
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +3 -1 lines
reclaim mbuf when ieee80211_crypto_encap fails

Approved by:	re (scottl)
Obtained from:	netbsd

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Jun 23 04:34:43 2005 UTC (6 years, 7 months ago) by silby
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +6 -9 lines
Fix a read mbuf-after-free error in the iwi driver that was provoked by
the trash allocator being used on mbufs.

Reviewed by:	damien
Approved by:	re (scottl)

Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Jun 10 16:49:11 2005 UTC (6 years, 8 months ago) by brooks
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +11 -2 lines
Stop embedding struct ifnet at the top of driver softcs. Instead the
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.

This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.

Other changes of note:
 - Struct arpcom is no longer referenced in normal interface code.
   Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
   To enforce this ac_enaddr has been renamed to _ac_enaddr.
 - The second argument to ether_ifattach is now always the mac address
   from driver private storage rather than sometimes being ac_enaddr.

Reviewed by:	sobomax, sam

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sun May 22 18:55:32 2005 UTC (6 years, 8 months ago) by damien
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +127 -12 lines
o Clear device-specific PCI register 0x41 (Retry Timeout) during attach
  and on resume (reported to fix issues with ACPI)
o Add monitor mode support
o Add WPA (802.11i) support (not tested extensively though!)
o Add a device specific sysctl to control the tx antenna (default to
  antenna diversity)
o Fix sensitivity setting
o Fix setting of the capinfo field when associating
o Temporarly disable 802.11a channels scanning that was causing firmware
  panics with 2915ABG adapters until I find a better fix.  This breaks
  802.11a support.
o Temporarly switch back to software WEP until I implement hardware
  encryption for AES and TKIP too.

Approved by:    silby (mentor)

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun May 15 21:02:51 2005 UTC (6 years, 8 months ago) by imp
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -0 lines
Print a warning once when trying to bring up interface before firmware load.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Apr 18 18:47:36 2005 UTC (6 years, 9 months ago) by damien
Branches: MAIN
Initial import of ipw, iwi, ral and ural drivers:

ipw  - Intel PRO/Wireless 2100
iwi  - Intel PRO/Wireless 2200BG/2225BG/2915ABG
ral  - Ralink Technology RT2500
ural - Ralink Technology RT2500USB

Approved by:	silby (mentor)

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options