11 Aug, 2010
1 commit
-
Since the writing to sysfs can free the old one, we need to block that
when we access the charp variables.Signed-off-by: Rusty Russell
Reviewed-by: Takashi Iwai
Tested-by: Phil Carmody
Cc: Jeff Dike
Cc: Dan Williams
Cc: John W. Linville
Cc: Jing Huang
Cc: James E.J. Bottomley
Cc: Greg Kroah-Hartman
Cc: Johannes Berg
Cc: David S. Miller
Cc: user-mode-linux-devel@lists.sourceforge.net
Cc: libertas-dev@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-usb@vger.kernel.org
05 Aug, 2010
2 commits
-
The warning is:
net/mac80211/main.c:688: warning: label ‘fail_ifa’ defined but not usedSigned-off-by: Juuso Oikarinen
Signed-off-by: John W. Linville -
Releasing the scan mutex while starting scans
can lead to unexpected things happening, so
we shouldn't do that. Fix that and hold the
mutex across the scan triggering.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
30 Jul, 2010
2 commits
-
…wireless-next-2.6 into for-davem
-
Some features require knowing the DTIM period
before associating. This implements the ability
to wait for a beacon in mac80211 before assoc
to provide this value. It is optional since
most likely not all drivers will need this.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
29 Jul, 2010
3 commits
-
For some drivers it can be useful to know whether the channel they're
supposed to switch to is going to be used for short off-channel work or
scanning, or whether the hardware is expected to stay on it for a while
longer. This is important for various kinds of calibration work, which
takes longer to complete and should keep some persistent state, even if
the channel temporarily changes.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
This reverts this commit. While in theory the change is
correct the patch does not address current assumptions made
by some drivers, one which is definitley affected is ath9k.Prior to this change the scan complete callback would be
called after we returned to the home channel and configured
the hardware RX filters. After this change we call the scan
complete callback prior to both the hw config and the config
filter. At least for ath9k this breaks quite a few assumptions
on the callback, leading to disconnects to the AP after every scan
making the driver pretty useless on STA mode. The goal behind
this commit was to address the now understood spurious warnings
from ath9k and mac80211_hwsim on scanning on two wiphys at the
same time but we have now supressed these and will address this
issue in the next kernel release.When fixing this for good next we must first review the other
driver's dependence on this logic and perhaps consider removal
of the scan complete callback all together.Cc: Johannes Berg
Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
In the function ieee80211_subif_start_xmit the logic related with
meshdrlen is under CONFIG_MAC80211_MESH macro, but in one place it isn't.
This is some update for thisSigned-off-by: Yuri Ershov
Signed-off-by: John W. Linville
28 Jul, 2010
2 commits
-
Conflicts:
drivers/net/bnx2x_main.cMerge bnx2x bug fixes in by hand... :-/
Signed-off-by: David S. Miller
-
Key locking simplification removed key->sdata != NULL verification from
ieee80211_key_free(). While that is fine for most use cases, there is one
path where this function can be called with an unlinked key (i.e.,
key->sdata == NULL && key->local == NULL). This results in a NULL pointer
dereference with the current implementation. This is known to happen at
least with FT protocol when wpa_supplicant tries to configure the key
before association.Avoid the issue by passing in the local pointer to
ieee80211_key_free(). In addition, do not clear the key from hw_accel
or debugfs if it has not yet been added. At least the hw_accel one could
trigger another NULL pointer dereference.Signed-off-by: Jouni Malinen
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville
27 Jul, 2010
8 commits
-
Conflicts:
drivers/net/wireless/iwlwifi/iwl-commands.h -
In AP mode, there is no need to notify the driver about QoS
changes for the monitor interface that is created. The warning
in ieee80211_bss_info_change_notify() would be hit otherwise.Signed-off-by: Sujith
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
I just had the following:
WARNING: at drivers/net/wireless/iwlwifi/iwl-agn-tx.c:574 iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]()
Call Trace:
[] warn_slowpath_common+0x7f/0xc0
[] warn_slowpath_null+0x1a/0x20
[] iwlagn_tx_skb+0x1576/0x15f0 [iwlagn]
[] iwl_mac_tx+0x5c/0x260 [iwlagn]
[] __ieee80211_tx+0x10b/0x1a0 [mac80211]
[] ieee80211_tx_pending+0x186/0x2d0 [mac80211]
[] tasklet_action+0x125/0x130
[] __do_softirq+0x106/0x270
[] call_softirq+0x1c/0x30
iwlagn 0000:02:00.0: Attempting to modify non-existing station 107Note that 107 == 0x6b which is slab poison.
The reason is that mac80211 passed a freed station
pointer to mac80211, because as it happened iwlwifi
reset itself while mac80211 was disconnecting from
the network.It turns out that we do take care to look up the
station pointer in ieee80211_tx_pending_skb, but
then don't use it, which obviously is a bug. Fix
this by removing the ieee80211_tx_h_sta handler
and assigning the station pointer directly.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Another remnant of the previous key locking scheme
needs to be removed -- this causes a warning
otherwise as ieee80211_set_default_mgmt_key will
acquire a mutex.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The intent was to free "msp->ratelist" here. "msp->sample_table" is
always NULL at this point.Signed-off-by: Dan Carpenter
Signed-off-by: John W. Linville -
"It's not problematic if minstrel gets feedback for rates that it
doesn't have in its list, it should just ignore it. - Felix"Signed-off-by: John W. Linville
Cc: Felix Fietkau -
If sta is NULL, we will have problems long before we get here...
Reported-by: Dan Carpenter
Signed-off-by: John W. Linville
Cc: Felix Fietkau
24 Jul, 2010
1 commit
-
Conflicts:
drivers/net/wireless/iwlwifi/iwl-commands.h
22 Jul, 2010
3 commits
-
IBSS has never had locking, instead relying on some
memory barriers etc. That's hard to get right, and
I think we had it wrong too until the previous patch.
Since this is not performance sensitive, it doesn't
make sense to have the maintenance overhead of that,
so add proper locking.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Bob reported a lockdep complaint originating in
the mac80211 IBSS code due to the common work
struct patch. The reason is that the IBSS and
station mode code have different locking orders
for the cfg80211 wdev lock and the work struct
(where "locking" implies running/canceling).Fix this by simply not canceling the work in
the IBSS code, it is not necessary since when
the REQ_RUN bit is cleared, the work will run
without effect if it runs. When the interface
is set down, it is flushed anyway, so there's
no concern about it running after memory has
been invalidated either.This fixes
https://bugzilla.kernel.org/show_bug.cgi?id=16419Additionally, looking into this I noticed that
there's a small window while the IBSS is torn
down in which the work may be rescheduled and
the REQ_RUN bit be set again after leave() has
cleared it when a scan finishes at exactly the
same time. Avoid that by setting the ssid_len
to zero before clearing REQ_RUN which signals
to the scan finish code that this interface is
not active.Reported-by: Bob Copeland
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
When WEP is not available, we should reject shared
key authentication because it could never succeed.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
21 Jul, 2010
4 commits
-
If a station interface is reused as monitor interface it is possible that
the carrier is still set to off. This breaks packet injection on that
monitor interface.
Force the carrier on in monitor interface initialisation like it is also done
for other interface types (e.g. adhoc, mesh point, ap).Signed-off-by: David Gnedt
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
Ever since
commit e1b3ec1a2a336c328c336cfa5485a5f0484cc90d
Author: Stanislaw Gruszka
Date: Mon Mar 29 12:18:34 2010 +0200mac80211: explicitly disable/enable QoS
mac80211 is telling drivers, in particular
iwlwifi, whether QoS is enabled or not.However, this is only relevant for station mode,
since only then will any device send nullfunc
frames and need to know whether they should be
QoS frames or not. In other modes, there are
(currently) no frames the device is supposed to
send.When you now consider virtual interfaces, it
becomes apparent that the current mechanism is
inadequate since it enables/disables QoS on a
global scale, where for nullfunc frames it has
to be on a per-interface scale.Due to the above considerations, we can change
the way mac80211 advertises the QoS state to
drivers to only ever advertise it as "off" in
station mode, and make it a per-BSS setting.Tested-by: Stanislaw Gruszka
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
When aggregation related action frames are enqueued for further work,
and they originate from a STA that is part of an AP VLAN, they are
currently enqueued for the AP interface. This breaks the sta_info_get()
lookup in the actual work function, and because of that, aggregation
sessions are not established for this STA.Fix this by replacing the sta_info_get call with a call to
sta_info_get_bss.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
These synthetic frames are all triggered from userland requests in
process context.https://bugzilla.kernel.org/show_bug.cgi?id=16412
Signed-off-by: John W. Linville
17 Jul, 2010
2 commits
-
Do this by poisoning the values of wep_tx_tfm and wep_rx_tfm if either
crypto allocation fails.Reported-by: Stanislaw Gruszka
Signed-off-by: John W. Linville -
This patch will also fix the odd freeze which occurred
when minstrel_ht connects to an 802.11n network with
legacy hardware.Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville
14 Jul, 2010
1 commit
-
…wireless-next-2.6 into for-davem
Conflicts:
drivers/net/wireless/wl12xx/wl1271_cmd.h
09 Jul, 2010
1 commit
-
The current mac80211 code assumes that WEP is always available. If WEP
fails to initialize, ieee80211_register_hw will always fail.In some cases (e.g. FIPS certification), the cryptography used by WEP is
unavailable. However, in such cases there is no good reason why CCMP
encryption (or even no link level encryption) cannot be used. So, this
patch removes mac80211's assumption that WEP (and TKIP) will always be
available for use.Signed-off-by: John W. Linville
03 Jul, 2010
2 commits
-
The check should be against current top2 rate, instead of
current top rate.Signed-off-by: Ming Lei
Acked-by: Felix Fietkau
Signed-off-by: John W. Linville -
The throughput should be considered when updating rate
with best probability.Signed-off-by: Ming Lei
Acked-by: Felix Fietkau
Signed-off-by: John W. Linville
02 Jul, 2010
1 commit
-
Conflicts:
drivers/net/wireless/libertas/host.h
01 Jul, 2010
1 commit
-
Allow selection of minstrel_ht as default rate control algorithm. At
the moment minstrel_ht can only be requested by the driver code but
not selected as default in make menuconfig. Fix this by using
minstrel_ht when minstrel was selected as default and minstrel_ht
is available.This change won't affect legacy devices as minstrel_ht falls back to
minstrel in that case.Signed-off-by: Helmut Schaa
Signed-off-by: John W. Linville
30 Jun, 2010
2 commits
-
Reported-by: Johannes Berg
Signed-off-by: John W. Linville -
This check is duplicated in drv_get_survey.
Reported-by: Johannes Berg
Signed-off-by: John W. Linville
29 Jun, 2010
3 commits
-
Because of an ambiguity in the for_each_sta_info macro, it can
currently only be used if the third parameter is set to 'sta'.
Fix this by renaming the parameter to '_sta'.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
This avoids the extra queueing from calling netif_rx.
Signed-off-by: John W. Linville
-
This avoids the extra queueing from calling netif_rx.
Signed-off-by: John W. Linville
25 Jun, 2010
1 commit
-
In preparation for a TX power setting interface in the nl80211, change the
.set_tx_power function to use mBm units instead of dBm for greater accuracy and
smaller power levels.Also, already in advance move the tx_power_setting enumeration to nl80211.
This change affects the .tx_set_power function prototype. As a result, the
corresponding changes are needed to modules using it. These are mac80211,
iwmc3200wifi and rndis_wlan.Cc: Samuel Ortiz
Cc: Jussi Kivilinna
Signed-off-by: Juuso Oikarinen
Acked-by: Samuel Ortiz
Acked-by: Jussi Kivilinna
Signed-off-by: John W. Linville