| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
ic_update_mcast and ic_update_promisc, to pass pointer to the ieee80211com,
not to the ifnet.
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
|
|
|
|
|
|
|
| |
used quite soon.
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
|
|
|
|
|
|
|
| |
that the latter doesn't need to go through struct ifnet to get their name.
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
|
|
|
|
|
|
|
|
|
|
| |
years for head. However, it is continuously misused as the mpsafe argument
for callout_init(9). Deprecate the flag and clean up callout_init() calls
to make them more consistent.
Differential Revision: https://reviews.freebsd.org/D2613
Reviewed by: jhb
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
results.
Right now the scan infrastructure assumes the channel is under net80211
control, and that when receiving beacon frames for scanning, the
current channel is indeed what ic_curchan is set to.
But firmware NICs with firmware scan support need more than this -
they can do background scans whilst hiding the off-channel behaviour
from net80211. Ie, net80211 still thinks everything is associated
and on the main channel, but it's getting scan results from all the
background traffic.
However sta_add() pays attention to ic_curchan and discards scan
results that aren't on the right channel. CCK beacon frames can be
decoded from adjacent channels so the receive path and sta_add
discard these as appropriate. This is fine for software scanning
like for ath(4), but not for firmware NICs. So with those, the
whole concept of background firmware scanning won't work without
major hacks (eg, overriding ic_curchan before calling the beacon
input / scan add.)
As part of my scan overhaul, modify sta_add() and the scan_add()
APIs to take an explicit current channel. The normal RX path
will set it to ic_curchan so it's a no-op. However, drivers may
decide to (eventually!) override the scan method to set the
"right" current channel based on what the firmware reports the
scan state is.
So for example, iwn, rsu and other NICs will eventually do this:
* driver issues scan start firmware command;
* firmware sends a "scan start on channel X" notify;
* firmware sends a bunch of beacon RX's as part of
the scan results;
* .. and the driver will replace scan_add() curchan with channel X,
so scan results are correct.
* firmware sends a "scan start on channel Y" notify;
* firmware sends more beacons...
* .. the driver replaces scan_add() curchan with channel Y.
Note:
* Eventually, net80211 should eventually grow the idea of a per-packet
current channel. It's possible in various modes (eg WAVE, P2P, etc)
that individual frames can come in from different channels and that
is under firmware control rather than driver/net80211 control, so
we should support that.
|
|
|
|
|
|
|
| |
In some cases limits are just not needed, in others -- DFLTPHYS is the
right constant to use instead.
MFC after: 1 month
|
| |
|
|
|
|
|
|
|
|
|
| |
announce the change on the vap's ifnet instead of the main ifnet. This
matches the behavior of other wireless drivers in the tree and allows the
default devd configuration to correctly start dhclient automatically after
an ndis wireless device associates.
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
via if_var.h.
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
|
|
|
|
|
|
|
|
| |
to this event, adding if_var.h to files that do need it. Also, include
all includes that now are included due to implicit pollution via if_var.h
Sponsored by: Netflix
Sponsored by: Nginx, Inc.
|
|
|
|
|
|
|
|
| |
external mbuf buffer management capabilities in the future.
For now only EXT_FREE_OK is defined with current legacy behavior.
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
malloc(9) flags in sys/dev.
|
|
|
|
| |
PCI device attachment.
|
|
|
|
| |
Reviewed by: yongari
|
|
|
|
|
|
|
|
| |
passed to resource_list_add(). The rid that was just returned by
bus_alloc_resource_any() should have been used instead.
Reviewed by: jhb
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
- 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@
|
|
|
|
|
|
|
|
|
|
| |
one. Interestingly, these are actually the default for quite some time
(bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9)
since r52045) but even recently added device drivers do this unnecessarily.
Discussed with: jhb, marcel
- While at it, use DEVMETHOD_END.
Discussed with: jhb
- Also while at it, use __FBSDID.
|
|
|
|
|
|
|
|
| |
and this breaks loading miniport drivers from loader.conf
Reported by: Yuri <yuri^rawbw^com>
Submitted by: Paul B Mahol
MFC after: 3 days
|
|
|
|
|
| |
Submitted by: Paul B Mahol <onemda at gmail.com>
MFC after: 1 week
|
|
|
|
|
|
|
| |
subdevice ID in addition to the subvendor ID.
Reported by: Paul B Mahol 'onemda gmail com'
Approved by: kib (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
configuration registers directly.
Remove pci_enable_io calls where they are redundant. The PCI bus driver
will set the right bits when the corresponding bus resource is activated.
Remove redundant pci_* function calls from suspend/resume methods. The
bus driver already saves and restores the PCI configuration.
Reviewed by: jhb
Approved by: kib (mentor)
|
|
|
|
|
|
|
| |
cleaner, this fixes problems where the code was using ~0 instead of ~0ul
for the upper bound on "any" resources.
MFC after: 1 month
|
|
|
|
|
| |
Submitted by: Paul B Mahol <onemda at gmail.com>
MFC after: 1 week
|
|
|
|
| |
Found with: clang
|
|
|
|
|
|
|
|
| |
duplicate module loads.
PR: usb/125736
Submitted by: danger, mm
Reviewed by: hselasky
|
|
|
|
|
| |
Submitted by: Marc Balmer <marc@msys.ch>
MFC after: 1 week
|
|
|
|
| |
Submitted by: novel
|
|
|
|
|
| |
PR: 142197
Submitted by: Paul <onemda at gmail.com>
|
|
|
|
| |
Submitted by: Paul B Mahol
|
|
|
|
|
|
| |
PR: 141376
Submitted by: Paul <onemda at gmail.com>
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
ndis_scan() is called. However, ndis_scan() is invoked from softclock()
and cannot sleep. Move ndis_scan_results() to the ndis' driver's scan_end
hook instead.
Submitted by: Paul B Mahol onemda of gmail
MFC after: 1 week
|
|
|
|
|
|
| |
older than 6.0.
Submitted by: Paul B Mahol <onemda at gmail.com>
|
|
|
|
|
|
|
| |
breakage.
Submitted by: bz, des, onemda
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
Also, the previous commit to sys/dev/if_ndis/if_ndis.c also included the
removal of a call to ndis_setstate_80211 that is no longer needed.
Submitted by: sam
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
perform 802.11 operations directly on the ndis0 interface before the
first VAP (wlan0) had been created. This would lead to a NULL-pointer
dereference in the kernel.
Submitted by: Paul B. Mahol <onemda@gmail.com>
MFC after: 3 days
|
|
|
|
|
|
| |
PR: kern/138632
Submitted by: Paul B. Mahol <onemda at gmail.com>
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
nagged again via PR. Thank Paul for his persistence and contributions.
PR: 136895
Submitted by: Paul B. Mahol <onemda@gmail.com>
Reviewed by: sam (timeout, 10 days), weongyo (timeout, 10 days), me
Approved by: re (Kostik Belousov <kostikbel@gmail.com>)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs. This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.
For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.
Approved by: re (kib)
MFC after: 6 weeks
|
|
|
|
|
|
| |
helper function. Also, add ieee80211_announce() call for bootverbose case.
Submitted by: Paul B. Mahol <onemda@gmail.com>
|
|
|
|
| |
- Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
|
|
|
|
|
|
| |
for ndis 802.11 work.
Submitted by: Paul B. Mahol <onemda@gmail.com>
|
| |
|
|
|
|
|
| |
Submitted by: Paul B. Mahol <onemda@gmail.com>
MFC after: 1 week
|
|
|
|
| |
Pointed out by: kib
|
|
|
|
| |
Submitted by: "Paul B. Mahol" <onemda@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|