05 Jan, 2012
1 commit
-
Ideally, hardware/firmware initialization is complete after the
drv_start routine. In mac80211 restart code (ieee80211_reconfig),
defer calling the driver commands i.e. setup fragmentation
threshold, rts threshold and coverage class till drv_start
routine is called.Signed-off-by: Nishant Sarmukadam
Signed-off-by: Yogesh Ashok Powarv2: Removed extra blank line added.
Signed-off-by: John W. Linville
14 Dec, 2011
1 commit
-
Configure arp filtering on sta reconfiguration.
Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
07 Dec, 2011
1 commit
-
* Follow 802.11n-2009 9.13.3.1 for protection mode and ADDBA
* Send ADDBA only to HT STAs - implement 11.5.1.1 partiallySigned-off-by: Simon Wunderlich
Signed-off-by: Mathias Kretschmer
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville
03 Dec, 2011
1 commit
-
Conflicts:
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/libertas/cfg.c
01 Dec, 2011
1 commit
-
This reverts commit f785d83a19bca326f79d127a413e35769afc0105.
This was provoking WARNINGs from the iwlegacy drivers.
Signed-off-by: John W. Linville
29 Nov, 2011
1 commit
-
Due the a fall-through in the switch statement, the IBSS mode got a
report for AP_RPOBE_RESPONSE change on reconfig. Change this to an AP
only notification.Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville
23 Nov, 2011
1 commit
-
Conflicts:
drivers/net/wireless/iwlegacy/iwl-debugfs.c
drivers/net/wireless/iwlegacy/iwl-rx.c
drivers/net/wireless/iwlegacy/iwl-scan.c
drivers/net/wireless/iwlegacy/iwl-tx.c
include/net/bluetooth/bluetooth.h
22 Nov, 2011
3 commits
-
This implements ht-cap over-rides for mac80211 drivers.
HT may be disabled, making an /a/b/g/n station act like an
a/b/g station. HT40 may be disabled forcing the station to
be HT20 even if the AP and local hardware support HT40.MAX-AMSDU may be disabled.
AMPDU-Density may be increased.
AMPDU-Factor may be decreased.This has been successfully tested with ath9k using patched
wpa_supplicant and iw.Signed-off-by: Ben Greear
Signed-off-by: John W. Linville -
No other driver ever ended up using this, and
the commit forgot to move the prototype so no
driver could have used it. Revert it, if any
driver shows up and needs it it can be moved
again, but until then it's more efficient to
have it in mac80211 where the only user is.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
We are currently linking the skbs by using skb->next
directly. This works, but the preferred way is to use
a struct sk_buff_head instead. That also prepares for
passing that to drivers directly.While at it I noticed we calculate the duration for
fragments twice -- remove one of them.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
12 Nov, 2011
2 commits
-
Allow setting a probe response template for an interface operating in
AP mode. Low level drivers are notified about changes in the probe
response template and are able to retrieve a copy of the current probe
response. This data can, for example, be uploaded to hardware as a
template.Signed-off-by: Guy Eilam
Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville -
Driver should be instructed to enter PS AFTER
reconfiguring ASSOCIATED (in STA case) using ieee80211_bss_info_change_notify
same as it's being done in ieee80211_set_associated()Signed-off-by: Eyal Shapira
Signed-off-by: John W. Linville
10 Nov, 2011
3 commits
-
The driver is never informed about monitor or
AP_VLAN interfaces, so whenever we pass those
to it later this is a bug. Verify we don't as
there are some cases where this could happen.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The vif might be busy while reconfiguring
(e.g. associated), so indicate BSS_CHANGED_IDLE as well.Reported-by: Eyal Shapira
Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
ieee80211_probereq_get() can return NULL in
which case we should clean up & return NULL
in ieee80211_build_probe_req() as well.Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
09 Nov, 2011
1 commit
-
Some refactoring for IBSS HT.
Move HT info and capability IEs building code into separate functions.
Add function to get the channel type from an HT info IE.
Signed-off-by: Alexander Simon
Signed-off-by: John W. Linville
01 Nov, 2011
1 commit
-
These files are non modular, but need to export symbols using
the macros now living in export.h -- call out the include so
that things won't break when we remove the implicit presence
of module.h from everywhere.Signed-off-by: Paul Gortmaker
01 Oct, 2011
3 commits
-
The flaglock in struct sta_info has long been
something that I wanted to get rid of, this
finally does the conversion to atomic bitops.The conversion itself is straight-forward in
most places, a few things needed to change a
bit since we can no longer use multiple bits
at the same time.On x86-64, this is a fairly significant code
size reduction:
text data bss dec hex
427861 23648 1008 452517 6e7a5 before
425383 23648 976 450007 6ddd7 afterSigned-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Now that we no longer use the return value, we no
longer need to maintain it either, so remove it.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Relocate the mesh implementation of adding the (extended) supported
rates IE to util.c, anticipating its use by other parts of mac80211.Signed-off-by: Arik Nemtsov
Cc: Kalyan C Gaddam
Signed-off-by: John W. Linville
28 Sep, 2011
2 commits
-
save and configure tx param per sdata, rather than
per hardware.Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
Whenever the scan request or tx_mgmt is requesting not to
use CCK rate for managemet frames through
NL80211_ATTR_TX_NO_CCK_RATE attribute, then mac80211 should
select appropriate least non-CCK rate. This could help to
send P2P probes and P2P action frames at non 11b rates
without diabling 11b rates globally.Cc: Jouni Malinen
Signed-off-by: Rajkumar Manoharan
Signed-off-by: John W. Linville
15 Sep, 2011
1 commit
-
Set SSID information from nl80211 beacon parameters. Advertise changes
in SSID to low level drivers.Signed-off-by: Arik Nemtsov
Signed-off-by: John W. Linville
14 Sep, 2011
1 commit
-
Removing unnecessary messages saves code and text.
Site specific OOM messages are duplications of a generic MM
out of memory message and aren't really useful, so just
delete them.Signed-off-by: Joe Perches
Signed-off-by: John W. Linville
13 Aug, 2011
1 commit
-
Moving the parsing logic for retrieving the information elements
stored in management frames, e.g. beacons or probe responses,
and making it available to other cfg80211 drivers.Signed-off-by: Yogesh Ashok Powar
Signed-off-by: Amitkumar Karwar
Signed-off-by: Bing Zhao
Signed-off-by: John W. Linville
11 Aug, 2011
1 commit
-
drivers might assume sta.drv_priv is clear while
the sta is added, so clear it on reconfinguration.Signed-off-by: Eliad Peller
Acked-by: Johannes Berg
Signed-off-by: John W. Linville
20 Jul, 2011
1 commit
-
Scanning currently uses the TX rate mask to
restrict the rate set, which is bogus. Make
it use the new set of rates from userspace.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
19 Jul, 2011
1 commit
-
Add tx_conf array to save the current tx queues
configuration, and reconfig it on resume (ieee80211_reconfig).On resume, the driver is being reconfigured. Without
reconfiguring the tx queues as well, the driver might
configure the device to use wrong ac params (e.g. ps-poll
instead of uapsd).Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
16 Jul, 2011
1 commit
-
When suspending with all netdevs down, the device
is stopped but we still call a number of driver
callbacks that the driver might not expect. The
same happens during resume, we might call a few
callbacks without starting the driver. Fix this
by checking open_count around more things and
exiting quickly if it is 0.Also, while at this I noticed that the coverage
class isn't reprogrammed after resume, so add
that.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
14 Jul, 2011
1 commit
-
In WoWLAN, devices may use crypto keys for TX/RX
and could also implement GTK rekeying. If the
driver isn't able to retrieve replay counters and
similar information from the device upon resume,
or if the device isn't responsive due to platform
issues, it isn't safe to keep the connection up
as GTK rekey messages from during the sleep time
could be replayed against it.The only protection against that is disconnecting
from the AP. Modifying mac80211 to do that while
it is resuming would be very complex and invasive
in the case that the driver requires a reconfig,
so do it after it has resumed completely. In that
case, however, packets might be replayed since it
can then only happen after TX/RX are up again, so
mark keys for interfaces that need to disconnect
as "tainted" and drop all packets that are sent
or received with those keys.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
12 Jul, 2011
1 commit
-
mac80211 maintains a running average of the RSSI when a STA
is associated to an AP. Report threshold events to any driver
that has registered callbacks for getting RSSI measurements.Implement callbacks in mac80211 so that driver can set thresholds.
Add callbacks in mac80211 which is invoked when an RSSI threshold
event occurs.mac80211: add tracing to rssi_reports api and remove extraneous fn argument
mac80211: scale up rssi thresholds from driver by 16 before storingSigned-off-by: Meenakshi Venkataraman
Signed-off-by: Wey-Yi Guy
Signed-off-by: John W. Linville
28 Jun, 2011
1 commit
-
Do not send DS Channel parameter for directed probe requests
in order to maximize the chance that we get a response. Some
badly-behaved APs don't respond when this parameter is included.Signed-off-by: Paul Stewart
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville
11 Jun, 2011
1 commit
-
Function ieee80211_reconfig in net/mac80211/util.c contains label wake_up
which is defined unconditionally, but only used with CONFIG_PM. Gcc
warns about this when CONFIG_PM is not defined.This patch makes the label's definition dependent on CONFIG_PM too,
eliminating the warning.The issue was apparently introduced in git commit
eecc48000afe2ca6da22122d553b7cad294e42fc.Signed-off-by: Vincent Zweije
Signed-off-by: John W. Linville
06 May, 2011
1 commit
-
This adds basic support for the new WoWLAN
configuration in mac80211. The behaviour is
completely offloaded to the driver though,
with two new callbacks (suspend/resume).Options for the driver include a complete
reconfiguration after wakeup, and exposing
all the triggers it wants to support.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
05 Apr, 2011
1 commit
-
We currently run this timer exactly once when
a new mac80211 device is registered, but that
is completely pointless since it will have no
work to do at all. Therefore, remove that and
also simplify some code using the timer.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
19 Feb, 2011
2 commits
-
Conflicts:
drivers/bluetooth/ath3k.c
drivers/bluetooth/btusb.c -
The module parameter ieee80211_disable_40mhz_24ghz
was meant to allow disabling 40 MHz operation in
the 2.4 GHz band by default. However, it is buggy
as implemented because while it advertises to the
AP that the device doesn't support 40 MHz, it will
itself still use 40 MHz configurations.To fix this, clear the 40 MHz bits from the sband
completely instead of overriding where used.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
10 Feb, 2011
1 commit
-
When suspending an associated system, and then resuming,
the station vif is being reconfigured without taking the
sdata->u.mgd.mtx lock, which results in the following warning:WARNING: at net/mac80211/mlme.c:101 ieee80211_ap_probereq_get+0x58/0xb8 [mac80211]()
Modules linked in: wl12xx_sdio wl12xx firmware_class crc7 mac80211 cfg80211 [last unloaded: crc7]
Backtrace:
[] (dump_backtrace+0x0/0x118) from [] (dump_stack+0x20/0x24)
r7:00000000 r6:bf12d6ec r5:bf154aac r4:00000065
[] (dump_stack+0x0/0x24) from [] (warn_slowpath_common+0x5c/0x74)
[] (warn_slowpath_common+0x0/0x74) from [] (warn_slowpath_null+0x2c/0x34)
r9:000024ff r8:cd006460 r7:00000001 r6:00000000 r5:00000000
r4:cf1394a0
[] (warn_slowpath_null+0x0/0x34) from [] (ieee80211_ap_probereq_get+0x58/0xb8 [mac80211])
[] (ieee80211_ap_probereq_get+0x0/0xb8 [mac80211]) from [] (wl1271_cmd_build_ap_probe_req+0x30/0xf8 [wl12xx])
r4:cd007440
[] (wl1271_cmd_build_ap_probe_req+0x0/0xf8 [wl12xx]) from [] (wl1271_op_bss_info_changed+0x4c4/0x808 [wl12xx])
r5:cd007440 r4:000003b4
[] (wl1271_op_bss_info_changed+0x0/0x808 [wl12xx]) from [] (ieee80211_bss_info_change_notify+0x1a4/0x1f8 [mac80211])
[] (ieee80211_bss_info_change_notify+0x0/0x1f8 [mac80211]) from [] (ieee80211_reconfig+0x4d0/0x668 [mac80211])
r8:cf0eeea4 r7:cd00671c r6:00000000 r5:cd006460 r4:cf1394a0
[] (ieee80211_reconfig+0x0/0x668 [mac80211]) from [] (ieee80211_resume+0x60/0x70 [mac80211])
[] (ieee80211_resume+0x0/0x70 [mac80211]) from [] (wiphy_resume+0x6c/0x7c [cfg80211])
r5:cd006248 r4:cd006110
[] (wiphy_resume+0x0/0x7c [cfg80211]) from [] (legacy_resume+0x38/0x70)
r7:00000000 r6:00000000 r5:cd006248 r4:cd0062fc
[] (legacy_resume+0x0/0x70) from [] (device_resume+0x168/0x1a0)
r8:c04ca8d8 r7:cd00627c r6:00000010 r5:cd006248 r4:cd0062fc
[] (device_resume+0x0/0x1a0) from [] (dpm_resume_end+0xf8/0x3bc)
r7:00000000 r6:00000005 r5:cd006248 r4:cd0062fc
[] (dpm_resume_end+0x0/0x3bc) from [] (suspend_devices_and_enter+0x1b0/0x204)
[] (suspend_devices_and_enter+0x0/0x204) from [] (enter_state+0xf0/0x148)
r7:c037e978 r6:00000003 r5:c043d807 r4:00000000
[] (enter_state+0x0/0x148) from [] (state_store+0xa4/0xcc)
r7:c037e978 r6:00000003 r5:00000003 r4:c043d807
[] (state_store+0x0/0xcc) from [] (kobj_attr_store+0x20/0x24)
[] (kobj_attr_store+0x0/0x24) from [] (sysfs_write_file+0x11c/0x150)
[] (sysfs_write_file+0x0/0x150) from [] (vfs_write+0xc0/0x14c)
[] (vfs_write+0x0/0x14c) from [] (sys_write+0x4c/0x78)
r8:40126000 r7:00000004 r6:cf1a7c80 r5:00000000 r4:00000000
[] (sys_write+0x0/0x78) from [] (ret_fast_syscall+0x0/0x30)
r8:c00502c8 r7:00000004 r6:403525e8 r5:40126000 r4:00000004Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
23 Dec, 2010
2 commits
-
The throughput LED trigger was always active when
the radio was enabled. In most cases that's likely
the desired behaviour, but iwlwifi requires it to
be only active when one of the virtual interfaces
is actually "connected" in some way.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
iwlwifi and other drivers like to blink their LED
based on throughput. Implement this generically in
mac80211, based on a throughput table the driver
specifies. That way, drivers can set the blink
frequencies depending on their desired behaviour
and max throughput.All the drivers need to do is provide an LED class
device, best with blink hardware offload.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville