#
4c4102ec |
| 13-Nov-2005 |
Damien Bergamini <damien@FreeBSD.org> |
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
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.
MFC after: 2 weeks
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
ad4f426e |
| 19-Sep-2005 |
Warner Losh <imp@FreeBSD.org> |
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 th
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.
show more ...
|
#
d599e39d |
| 20-Aug-2005 |
Damien Bergamini <damien@FreeBSD.org> |
Remove IEEE80211_C_WPA from capabilities flags. WPA support is not fully implemented in ipw.
MFC after: 1 week
|
#
4ab4bbc6 |
| 20-Aug-2005 |
Damien Bergamini <damien@FreeBSD.org> |
Export adapter's internal statistics sysctl even if IPW_DEBUG is not defined.
MFC after: 1 week
|
#
b5c99415 |
| 10-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Clarify/fix handling of the current channel: o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan)
Clarify/fix handling of the current channel: o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan) o add ieee80211_scanparams structure to encapsulate scanning-related state captured for rx frames o move rx beacon+probe response frame handling into separate routines o change beacon+probe response handling to treat the scan table more like a scan cache--look for an existing entry before adding a new one; this combined with ic_curchan use corrects handling of stations that were previously found at a different channel o move adhoc neighbor discovery by beacon+probe response frames to a new ieee80211_add_neighbor routine
Reviewed by: avatar Tested by: avatar, Michal Mertl MFC after: 2 weeks
show more ...
|
#
13f4c340 |
| 09-Aug-2005 |
Robert Watson <rwatson@FreeBSD.org> |
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 synchron
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
show more ...
|
#
d365f9c7 |
| 08-Aug-2005 |
Sam Leffler <sam@FreeBSD.org> |
Cleanup beacon/listen interval handling: o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobber
Cleanup beacon/listen interval handling: o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobbers the beacon interval used in hostap or ibss mode) o bounds check the beacon interval received in probe response and beacon frames and drop frames with bogus settings; not clear if we should instead clamp the value as any alteration would result in mismatched sta+ap configuration and probably be more confusing (don't want to log to the console but perhaps ok with rate limiting) o while here up max beacon interval to reflect WiFi standard
Noticed by: Martin <nakal@nurfuerspam.de> MFC after: 1 week
show more ...
|
#
e4918ecd |
| 22-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
simplify ieee80211_node_authorize and ieee80211_node_unauthorize api's
MFC after: 3 days
|
#
69e2ffe6 |
| 08-Jul-2005 |
Damien Bergamini <damien@FreeBSD.org> |
fix allocation of rx dma buffers. buffers must be contiguous.
Approved by: re (scottl)
|
#
82145663 |
| 07-Jul-2005 |
Sam Leffler <sam@FreeBSD.org> |
reclaim mbuf when ieee80211_crypto_encap fails
Approved by: re (scottl) Obtained from: netbsd
|
#
09137879 |
| 03-Jul-2005 |
Damien Bergamini <damien@FreeBSD.org> |
o Make ipw(4) more robust against frames received with a bad length. o Minor consistency tweaks.
Reviewed by: silby (mentor) Approved by: re (scottl)
|
#
fc74a9f9 |
| 10-Jun-2005 |
Brooks Davis <brooks@FreeBSD.org> |
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 c
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
show more ...
|
#
972d4b82 |
| 01-Jun-2005 |
Tai-hwa Liang <avatar@FreeBSD.org> |
Printing a warning once when trying to bring up interface before firmware load.
Obtained from: imp (if_iwi) Reviewed by: damien
|
#
0e22d2c5 |
| 22-May-2005 |
Damien Bergamini <damien@FreeBSD.org> |
Clear device-specific PCI register 0x41 during attach and on resume.
Appoved by: silby (mentor)
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
ceaec73d |
| 18-Apr-2005 |
Damien Bergamini <damien@FreeBSD.org> |
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
A
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)
show more ...
|
#
11e9b8ba |
| 04-Aug-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC @196061
|
#
820e6a1f |
| 10-Jul-2009 |
Rui Paulo <rpaulo@FreeBSD.org> |
For ic_opmode switch cases, provide a default label with a printf saying this opmode is not supported.
Approved by: re (kib)
|
#
2e370a5c |
| 26-May-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merge from HEAD
|
#
5463c4a4 |
| 20-May-2009 |
Sam Leffler <sam@FreeBSD.org> |
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_at
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
show more ...
|
#
e1d2045e |
| 10-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
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.
|
#
b569d213 |
| 08-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Drain the tasks before the interface stop call in case a restart was queued.
|
#
e7153b25 |
| 07-May-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
Merge from HEAD
|
#
5efea30f |
| 02-May-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
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
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
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
0c512ce8 |
| 17-Apr-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Drain the driver tasks on the same taskqueue in which they were enqueued.
|
#
9c797940 |
| 13-Apr-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|