23 Jun, 2011
12 commits
-
Consider the following situation:
* a dump that would show 8 entries, four in the first
round, and four in the second
* between the first and second rounds, 6 entries are
removed
* now the second round will not show any entry, and
even if there is a sequence/generation counter the
application will not knowTo solve this problem, add a new flag NLM_F_DUMP_INTR
to the netlink header that indicates the dump wasn't
consistent, this flag can also be set on the MSG_DONE
message that terminates the dump, and as such above
situation can be detected.To achieve this, add a sequence counter to the netlink
callback struct. Of course, netlink code still needs
to use this new functionality. The correct way to do
that is to always set cb->seq when a dumpit callback
is invoked and call nl_dump_check_consistent() for
each new message. The core code will also call this
function for the final MSG_DONE message.To make it usable with generic netlink, a new function
genlmsg_nlhdr() is needed to obtain the netlink header
from the genetlink user header.Signed-off-by: Johannes Berg
Acked-by: David S. Miller
Signed-off-by: John W. Linville -
After uploading radio values calibration goes in. In MMIO dump it is:
radio_read(0x002b) -> 0x0008
radio_write(0x002b) 0x0004
radio_write(0x002e) 0x0000
radio_write(0x002e) 0x0008
radio_write(0x002b)
Signed-off-by: John W. Linville -
When module is reloaded, device may fail to work, with messages:
[ 342.211926] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0059, type=2.
[ 342.314254] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004a, type=2.
[ 342.416458] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 3183 max 2432.
[ 342.518605] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00c9, type=2.
[ 342.620836] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00ae, type=1.
[ 342.723201] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
[ 342.825399] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
[ 342.927624] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
[ 343.029804] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2491 max 2432.
[ 343.132008] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2576 max 2432.
[ 343.234326] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004c, type=1.
[ 343.438723] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00e6, type=1.Whereas replugging device make it functional. To solve that problem
force reset device during probe.With patch messages are gone. Unfortunately device may sometimes
still does not operate correctly after module reload (fail to receive
data after associate), but such cases are rarer than without the patch.Signed-off-by: Stanislaw Gruszka
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
Sometimes rxdesc descriptor provided by hardware contains invalid
(random) data. For example rxdesc.size can be bigger than actual
size of the buffer. When this happen rt2x00crypto_rx_insert_iv()
corrupt memory doing memmove outside of buffer boundaries.Signed-off-by: Stanislaw Gruszka
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Specs were recently updated.
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Switching channel happens after specific SHM write to B43_SHM_SH_CHAN.
This is the way we found it in BCM4331 MMIO dumps. By comparing with
N-PHY code we noticed there is routing used for SYN and TX/RX.Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
The trick was to find 0x810 PHY reg ops close to analog enabling code.
To find out proper masks and sets, MMIO hacks were used.Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Closed drivers kill radio right after reading radio version and MACCTL,
so it was easy to find related PHY ops:
phy_read(0x0810) -> 0x0000
phy_write(0x0810) 0xffff
phy_write(0x0810)
Signed-off-by: John W. Linville
22 Jun, 2011
2 commits
-
When the connection is ready we should set the connection
to CONNECTED so userspace can use it.Signed-off-by: Vinicius Costa Gomes
Signed-off-by: Gustavo F. Padovan -
Conflicts:
net/bluetooth/l2cap_core.c
21 Jun, 2011
18 commits
-
These are a potential source of confusion, as most C code treats all
non-zero values as true.Signed-off-by: Mike McCormack
Acked-by: Larry Finger
Signed-off-by: John W. Linville -
rtl_ps_set_rf_state's protect_or_not parameter is not set to
true anywhere, except for commented out code.It enables some legacy locking code, which is no longer used,
so delete the parameter and the old locking code.Signed-off-by: Mike McCormack
Acked-by: Larry Finger
Signed-off-by: John W. Linville -
offchan_deley should be offchan_delay
Signed-off-by: Mike McCormack
Acked-by: Larry Finger
Signed-off-by: John W. Linville -
Function managing IRQs is needed for external drivers like b43.
On the other side we do not expect writing any hosts drivers outside of
bcma, so this is safe to do not export functions related to this.Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Pavel Roskin
Signed-off-by: John W. Linville -
Nothing else is freeing it, and this mirrors the error handling path
already in ath5k_init_softc.https://bugzilla.kernel.org/show_bug.cgi?id=37592
Signed-off-by: John W. Linville
Reported-by: Tsyvarev Andrey -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
Signed-off-by: Rafał Miłecki
Signed-off-by: John W. Linville -
checking the status of PAPRD_AGC2_POWER(Log(ADC_power) measured after
last gain-change in dB) field suggests whether the PAPRD is completely/properly
done. This is an additional check apart from polling for PAPRD done bit being set.
Susinder suggests that the ideal power range value should be
0xf0 to 0xfe. With AR9382 we do have the values in this range. to have a
common check for all platforms we take agc2_power should be atleast greater
than 0xe0Cc: susinder@qca.qualcomm.com
Cc: senthilb@qca.qualcomm.com
Cc: kmuthusa@qca.qualcomm.com
Signed-off-by: Mohammed Shafi Shajakhan
Signed-off-by: John W. Linville -
when the AP is configured with HT40/2.4GHz and when PAPRD is enabled in station
we have PAPRD training frames never sent out because of the following
failure "PAPRD target power delta out of range". This consistently happens
in channel 10,11 in Over The Air testing and rarely in channel 6 under wired
setup.
the reason behind this issue is all the HT40 rates target power
are 0 when we operate in channel 10/11 at 2.4GHzSigned-off-by: Mohammed Shafi Shajakhan
Signed-off-by: John W. Linville -
Cancel all relevant timers/works before suspending (wowlan).
This patch handles the following warning:
WARNING: at net/mac80211/util.c:565 queueing ieee80211 work while going to suspend
Backtrace:
[] (ieee80211_can_queue_work+0x0/0x4c [mac80211])
[] (ieee80211_queue_work+0x0/0x30 [mac80211])
[] (ieee80211_sta_timer+0x0/0x3c [mac80211])
[] (run_timer_softirq+0x0/0x220)
[] (__do_softirq+0x0/0x130)
[] (irq_exit+0x0/0xb4)
[] (ipi_timer+0x0/0x4c)
[] (do_local_timer+0x0/0x88)
[] (cpu_idle+0x0/0xe0)
[] (rest_init+0x0/0xe0)
[] (start_kernel+0x0/0x314)Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville -
We already have access to the chan, we don't have to access the
socket to get its imtu.Signed-off-by: Vinicius Costa Gomes
Signed-off-by: Gustavo F. Padovan -
We should not try to do any other type of configuration for
LE links when they become ready.Signed-off-by: Vinicius Costa Gomes
Signed-off-by: Gustavo F. Padovan -
…t/iwlwifi/iwlwifi-2.6
-
core.h references ieee80211_ops but doesn't include mac80211.h, which issues
a warning once mac80211-compat.h is taken into use.Acked-by: Larry Finger
Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville -
zd_chip.h contains one function with a pointer to ieee80211_hw but doesn't
include mac80211.h. As a temporary solution include mac80211.h to avoid
a warning.Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville -
The hacks break once mac80211-compat.h is taken into use. Fix it by adding
an ifdef check.Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville -
The hacks break once mac80211-compat.h is taken into use. Fix it by adding
an ifdef check.Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville
18 Jun, 2011
8 commits
-
Remove unused and incorrect EEPROM define
Signed-off-by: Wey-Yi Guy
-
Same operation needed by multiple devices, move to single function.
Signed-off-by: Wey-Yi Guy
-
Code alignment, no functional changes.
Signed-off-by: Wey-Yi Guy
-
Add offset define for subsystem id in EEPROM
Signed-off-by: Wey-Yi Guy
-
Add power_level module parameter to set the default power save level.
Power save level has range from 1 - 5, default power save level is 1.Signed-off-by: Wey-Yi Guy
-
Add power_save module parameter to enable power management if needed
Default power management is disabled.Signed-off-by: Wey-Yi Guy
-
Since the irq number is just an unsigned int, store it inside iwl_bus
instead of calling the get_irq ops every time it is needed.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy -
Since there is no protection around SYNC host command mechanism, at least WARN
when collision happens between two SYNC host comamnds. I am not sure there is a
real issue (beyond the HCMD_ACTIVE flag maintenance) with having two SYNC host
commands at the same time, but at least now, we will know about it.Signed-off-by: Emmanuel Grumbach
Signed-off-by: Wey-Yi Guy