12 May, 2011
1 commit
11 May, 2011
1 commit
-
When we are disconnecting, we set PS off, but this happens before we
send the deauth/disassoc request. When the deauth/disassoc frames are
sent, we trigger the dynamic ps timer, which then times out and turns
PS back on. Thus, PS remains on after disconnecting, causing problems
when associating again.This can be fixed by preventing the timer to start when we're not
associated anymore.Signed-off-by: Luciano Coelho
Signed-off-by: John W. Linville
23 Apr, 2011
1 commit
21 Apr, 2011
1 commit
-
The locking with SMPS requests means that the
debugs file should lock the mgd mutex, not the
iflist mutex. Calls to __ieee80211_request_smps()
need to hold that mutex, so add an assertion.This has always been wrong, but for some reason
never been noticed, probably because the locking
error only happens while unassociated.Cc: stable@kernel.org [2.6.34+]
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
11 Apr, 2011
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)
net: Add support for SMSC LAN9530, LAN9730 and LAN89530
mlx4_en: Restoring RX buffer pointer in case of failure
mlx4: Sensing link type at device initialization
ipv4: Fix "Set rt->rt_iif more sanely on output routes."
MAINTAINERS: add entry for Xen network backend
be2net: Fix suspend/resume operation
be2net: Rename some struct members for clarity
pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev
dsa/mv88e6131: add support for mv88e6085 switch
ipv6: Enable RFS sk_rxhash tracking for ipv6 sockets (v2)
be2net: Fix a potential crash during shutdown.
bna: Fix for handling firmware heartbeat failure
can: mcp251x: Allow pass IRQ flags through platform data.
smsc911x: fix mac_lock acquision before calling smsc911x_mac_read
iwlwifi: accept EEPROM version 0x423 for iwl6000
rt2x00: fix cancelling uninitialized work
rtlwifi: Fix some warnings/bugs
p54usb: IDs for two new devices
wl12xx: fix potential buffer overflow in testmode nvs push
zd1211rw: reset rx idle timer from tasklet
...
08 Apr, 2011
1 commit
-
* 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6:
Fix common misspellings
05 Apr, 2011
1 commit
-
Cleaning the ieee80211_rx_data.flags field here is wrong, instead the
flags should be valid accross processing the frame on different
interfaces. Fix this by removing the incorrect flags=0 assignment.Introduced in commit 554891e63a29af35cc6bb403ef34e319518114d0
(mac80211: move packet flags into packet).Signed-off-by: Helmut Schaa
Signed-off-by: John W. Linville
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
29 Mar, 2011
4 commits
-
Suppose the aggregation reorder buffer looks like this:
x-T-R1-y-R2,
where x and y are frames that have not been received, T is a received
frame that has timed out, and R1,R2 are received frames that have not
yet timed out. The proper behavior in this scenario is to move the
window past x (skipping it), release T and R1, and leave the window at y
until y is received or R2 times out.As written, this code will instead leave the window at R1, because it
has not yet timed out. Fix this by exiting the reorder loop only when
the frame that has not timed out AND there are skipped frames earlier in
the current valid window.Signed-off-by: Daniel Halperin
Signed-off-by: John W. Linville -
This patch moves 'key' dereference after BUG_ON(!key) so that when key is NULL
we will see proper trace instead of oops.Signed-off-by: Mariusz Kozlowski
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
The ieee80211_key struct can be kfree()d several times in the function, for
example if some of the key setup functions fails beforehand, but there's no
check if the struct is still valid before we call memcpy() and INIT_LIST_HEAD()
on it. In some cases (like it was in my case), if there's missing aes-generic
module it could lead to the following kernel OOPS:Unable to handle kernel NULL pointer dereference at virtual address 0000018c
....
PC is at memcpy+0x80/0x29c
...
Backtrace:
[] (ieee80211_key_alloc+0x0/0x234 [mac80211]) from [] (ieee80211_add_key+0x70/0x12c [mac80211])
[] (ieee80211_add_key+0x0/0x12c [mac80211]) from [] (__cfg80211_set_encryption+0x2a8/0x464 [cfg80211])Signed-off-by: Petr Štetiar
Reviewed-by: Johannes Berg
Signed-off-by: John W. Linville -
When a client connects in HT mode but does not provide any valid MCS
rates, the function that finds the next sample rate gets stuck in an
infinite loop.
Fix this by falling back to legacy rates if no usable MCS rates are found.Signed-off-by: Felix Fietkau
Cc: stable@kernel.org
Signed-off-by: John W. Linville
22 Mar, 2011
1 commit
-
This field is used to determine the inactivity time. When in AP mode,
hostapd uses it for kicking out inactive clients after a while. Without this
patch, hostapd immediately deauthenticates a new client if it checks the
inactivity time before the client sends its first data frame.Signed-off-by: Felix Fietkau
Cc: stable@kernel.org
Signed-off-by: John W. Linville
19 Mar, 2011
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (47 commits)
doc: CONFIG_UNEVICTABLE_LRU doesn't exist anymore
Update cpuset info & webiste for cgroups
dcdbas: force SMI to happen when expected
arch/arm/Kconfig: remove one to many l's in the word.
asm-generic/user.h: Fix spelling in comment
drm: fix printk typo 'sracth'
Remove one to many n's in a word
Documentation/filesystems/romfs.txt: fixing link to genromfs
drivers:scsi Change printk typo initate -> initiate
serial, pch uart: Remove duplicate inclusion of linux/pci.h header
fs/eventpoll.c: fix spelling
mm: Fix out-of-date comments which refers non-existent functions
drm: Fix printk typo 'failled'
coh901318.c: Change initate to initiate.
mbox-db5500.c Change initate to initiate.
edac: correct i82975x error-info reported
edac: correct i82975x mci initialisation
edac: correct commented info
fs: update comments to point correct document
target: remove duplicate include of target/target_core_device.h from drivers/target/target_core_hba.c
...Trivial conflict in fs/eventpoll.c (spelling vs addition)
16 Mar, 2011
1 commit
-
…wireless-next-2.6 into for-davem
15 Mar, 2011
2 commits
-
When running an AP interface along with the cooked monitor interface created
by hostapd, adding an interface and deleting it again triggers a channel type
recalculation during which the (non-HT) monitor interface takes precedence
over the HT AP interface, thus causing the channel type to be set to non-HT.
Fix this by ensuring that a more wide channel type will not be overwritten
by a less wide channel type.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Devices without multi rate retry support won't be able to use all rates
as specified by mintrel_ht. Hence, we can simply skip setting up further
rates as the devices will only use the first one.Also add a special case for devices with only two possible tx rates. We
use sample_rate -> max_prob_rate for sampling and max_tp_rate ->
max_prob_rate by default.Signed-off-by: Helmut Schaa
Signed-off-by: John W. Linville
12 Mar, 2011
3 commits
-
Signed-off-by: John W. Linville
-
If dynamic_ps is disabled, enabling power save before the 4-way
handshake completes may delay the station from being authorized to
send/receive traffic, i.e. increase roaming times. It also may result in
a failed 4-way handshake depending on the AP's timing requirements and
beacon interval, and the station's listen interval.To fix this, prevent power save from being enabled while the station
isn't authorized and recalculate power save whenever the station's
authorized state changes.Signed-off-by: Jason Young
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
…wireless-next-2.6 into for-davem
10 Mar, 2011
1 commit
-
Waiting until the status is received can cause the same rate to be
probed multiple times consecutively.Cc: Felix Fietkau
Signed-off-by: Daniel Halperin
Signed-off-by: John W. Linville
08 Mar, 2011
3 commits
-
The scan code has a race that Michael reported
he ran into, but it's easy to fix while at the
same time simplifying the code.The race resulted in the following warning:
------------[ cut here ]------------
WARNING: at net/mac80211/scan.c:310 ieee80211_rx_bss_free+0x20c/0x4b8 [mac80211]()
Modules linked in: [...]
[] (unwind_backtrace+0x0/0xe0) from [] (warn_slowpath_common+0x4c/0x64)
[... backtrace wasn't useful ...]Reported-by: Michael Buesch
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Add a log message to ieee80211_restart_hw() to highlight
that special codepath in the logs. This helps debugging
bugs in the rarely tested restart code.Signed-off-by: Michael Buesch
Signed-off-by: John W. Linville -
Compile test only.
Signed-off-by: Shan Wei
Signed-off-by: John W. Linville
05 Mar, 2011
3 commits
-
…ville/wireless-next-2.6
-
…wireless-next-2.6 into for-davem
-
mac80211 does the same afterwards anyway. Hence, just drop
this redundant code.Signed-off-by: Helmut Schaa
Acked-by: Felix Fietkau
Signed-off-by: John W. Linville
04 Mar, 2011
1 commit
-
Conflicts:
drivers/net/bnx2x/bnx2x.h
02 Mar, 2011
2 commits
-
... Otherwise it is displayed when mac80211 isn't
even turned on, which is completely pointless.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville
26 Feb, 2011
5 commits
-
For devices supported by iwlwifi sometimes
off-channel transmissions need to be handled
by the device completely. To support this
mac80211 needs to pass the frame directly
to the driver and not through the TX path
as the driver needs the frame and channel
information at the same time.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Is still possible to schedule conn_mon_timer after disassociate from
ieee80211_sta_tx_notify() and ieee80211_offchannel_ps_disable().Move disassociate check to ieee80211_sta_reset_conn_monitor() to cover
all these cases, and add unlikely since in most the time we call
ieee80211_sta_reset_conn_monitor() when associated.Signed-off-by: Stanislaw Gruszka
Signed-off-by: John W. Linville -
We need to copy this to allow drivers to look
at the information where needed.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This reverts 4a332a38
("mac80211: Give it some time to do the TSF sync").There's no point in waiting with a new IBSS merge
just because the hardware hasn't merged up with
the old IBSS yet, and since 34e8f082 we no longer
attempt to merge with the IBSS we're already in.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
The return value of the tx operation is commonly
misused by drivers, leading to errors. All drivers
will drop frames if they fail to TX the frame, and
they must also properly manage the queues (if they
didn't, mac80211 would already warn).Removing the ability for drivers to return a BUSY
value also allows significant cleanups of the TX
TX handling code in mac80211.Note that this also fixes a bug in ath9k_htc, the
old "return -1" there was wrong.Signed-off-by: Johannes Berg
Tested-by: Sedat Dilek [ath5k]
Acked-by: Gertjan van Wingerde [rt2x00]
Acked-by: Larry Finger [b43, rtl8187, rtlwifi]
Acked-by: Luciano Coelho [wl12xx]
Signed-off-by: John W. Linville
24 Feb, 2011
2 commits
-
The flag isn't very descriptive -- the intention
is that the driver provides a TSF timestamp at
the beginning of the MPDU -- make that clearer
by renaming the flag to RX_FLAG_MACTIME_MPDU.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
There is a race on sending a data frame before the tx completion
of nullfunc frame for enabling power save. As the data quickly
follows the nullfunc frame, the AP thinks that the station is out
of power save and continues to send the frames. Whereas in the
station, the nullfunc ack will be processed after the tx completion
of data frame and mac80211 goes to powersave. Thus the power
save state mismatch between the station and the AP causes some
data loss and some applications fail because of that. This patch
fixes this issue.Signed-off-by: Vivek Natarajan
Signed-off-by: John W. Linville
23 Feb, 2011
2 commits
-
…wireless-next-2.6 into for-davem
21 Feb, 2011
1 commit
-
From: Eric W. Biederman
In the beginning with batching unreg_list was a list that was used only
once in the lifetime of a network device (I think). Now we have calls
using the unreg_list that can happen multiple times in the life of a
network device like dev_deactivate and dev_close that are also using the
unreg_list. In addition in unregister_netdevice_queue we also do a
list_move because for devices like veth pairs it is possible that
unregister_netdevice_queue will be called multiple times.So I think the change below to fix dev_deactivate which Eric D. missed
will fix this problem. Now to go test that.Signed-off-by: David S. Miller