06 Aug, 2010
5 commits
-
So long.
Signed-off-by: Sujith
Signed-off-by: John W. Linville -
Fix this leftover TODO from the cfg80211 conversion by doing a scan
if cfg80211 didn't pass in the BSSID for us. Since the scan code
uses so much of the cfg80211_scan_request structure to build up the
firmware command, we just fake one when the scan request is triggered
internally. But we need to make sure that internal 'fake' cfg82011
scan request does not get back to cfg82011 via cfg80211_scan_done().Signed-off-by: Dan Williams
Signed-off-by: John W. Linville -
Some APs get pissy if you don't send the firmware the extended rates
in the association request's rates TLV. Found this on a Linksys
WRT54G v2; it denies association with status code 18 unless you
add the extended rates too. The old driver did this, but it got
lost in the cfg80211 conversion.Signed-off-by: Dan Williams
Signed-off-by: John W. Linville -
Let's actually check the right field in the command response; and
if there aren't any reported BSSes, exit early with success.Signed-off-by: Dan Williams
Signed-off-by: John W. Linville
05 Aug, 2010
21 commits
-
82ca9341763107615a15da6e59b9535d49eb91c3 added scary looking
but harmless error messages. Make them clearer and make the
actual failure message show up with the same severity as the
harmless one.Signed-off-by: Andy Lutomirski
Signed-off-by: John W. Linville -
IRQ and resource[] may not have correct values until
after PCI hotplug setup occurs at pci_enable_device() time.The semantic match that finds this problem is as follows:
//
@@
identifier x;
identifier request ~= "pci_request.*|pci_resource.*";
@@(
* x->irq
|
* x->resource
|
* request(x, ...)
)
...
*pci_enable_device(x)
//Signed-off-by: Kulikov Vasiliy
Acked-by: Gertjan van Wingerde
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
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 -
If kzalloc() fails return with -ENOMEM from ipw2100_net_init() which is
called by register_netdev.CC: Dan Carpenter
Signed-off-by: Christoph Fritz
Signed-off-by: John W. Linville -
ath9k_rx_skb_preprocess nulls rxs and the mactime is never set again -
mactime is always 0. This causes problems in IBSS mode.ieee80211_rx_bss_info uses mactime to decide if an IBSS merge is needed.
Without this patch the merge is triggered by each beacon received.This can be recognized by the "beacon TSF higher than local TSF - IBSS
merge with BSSID" log message accompanying each beacon.This problem was not completely fixed in commit
a6d2055b02dde1067075795274672720baadd3ca and is not a stable kernel fix.
It is solely intended for wireless-testing.Signed-off-by: Jan Friedrich
Signed-off-by: John W. Linville -
The SMC2802W appears to work with p54pci.
Signed-off-by: Larry Finger
Tested-by: David Cozatt
Signed-off-by: John W. Linville -
I noticed a possible issue in the paused flag management of the
ath_atx_tid data structure. In particular, in a noisy environment and
under heavy load, I observed that the AGGR session establishment could
fail several times consecutively causing values of the paused flag
greater than one for this TID (ath_tx_pause_tid is called more than
once from ath_tx_aggr_start).Considering that the session for this TID can not be established also
after the mac80211 stack calls the ieee80211_agg_tx_operational() since
the ath_tx_aggr_resume() lowers the paused flag only by one.This patch also replaces some BUG_ON calls with WARN_ON, as even if
these unlikely conditions happen, it's not fatal enough to justify a
BUG_ON.Signed-off-by: Lorenzo Bianconi
Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
AR9003 was not relying on the CTL indexes from the EEPROM for capping the
max output power. The CTL indexes from the EEPROM provide calibrated
limits for output power for each tested and supported frequency. Without
this the device operates at a power level which only conforms to the
transmit spectrum mask as specified by IEEE Annex I.2.3.The regulatory limit by CRDA is always used but does not provide
calibrated values for optimal performance, specially on band edges.
Using the calibrated data from the EEPROM ensures the device
operates at optimal output power while still ensuring proper
regulatory compliance. The device uses the minimum of these tree
values, the value from CRDA, the calibrated value from CTL indexex,
and the value to conform to the IEEE transmit spectrum mask.Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
wl1271_dump() uses cmd after kfree(cmd). Move kfree() just after
wl1271_dump().Signed-off-by: Kulikov Vasiliy
Acked-by: Juuso Oikarinen
Signed-off-by: John W. Linville -
small typo fix in ucode_bt_stats_read debugfs file
Signed-off-by: Wey-Yi Guy
Signed-off-by: John W. Linville -
It is a uCode bug which cause the tx queue id not match scd_flow
in compressed block ack frame, and it need to be addressed in uCode.
Currently, driver will log the information when it happen.Since it is possible happen very often and we do not want to fill the syslog,
so don't enable the logging by default.Signed-off-by: Wey-Yi Guy
Signed-off-by: John W. Linville -
When iwlwifi is compiled w/o debug, we get
this warning:
iwl-agn.c: In function ‘iwlagn_load_firmware’:
iwl-agn.c:2014: warning: passing argument 3 of ‘iwl_print_hex_dump’ discards qualifiers from pointer target type
iwl-debug.h:73: note: expected ‘void *’ but argument is of type ‘const u8 *’because the const qualifier is missing in the
inline stub. Fix this.Signed-off-by: Johannes Berg
Signed-off-by: Wey-Yi Guy
Signed-off-by: John W. Linville -
On AR5008-AR9002, other forms of calibration must not be started while
the noise floor calibration is running, as this can create invalid
readings which were sometimes not even recoverable by any further
calibration attempts.This patch also ensures that the result of noise floor measurements
are processed faster and also allows the result of the initial
calibration on reset to make it into the NF history bufferSigned-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
The noise floor history buffer is currently not kept per channel, which
can lead to problems when changing channels from a clean channel to a
noisy one. Also when switching from HT20 to HT40, the noise floor
history buffer is full of measurements, but none of them contain data
for the extension channel, which it needs quite a bit of time to recover
from.This patch puts all the per-channel calibration data into a single data
structure, and gives the the driver control over whether that is used
per-channel or even not used for some channels.For ath9k_htc, I decided to keep this per-channel in order to avoid
creating regressions.For ath9k, the data is kept only for the operating channel, which saves
some space. ath9k_hw takes care of wiping old data when the operating
channel or its channel flags change.Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Previously the software scan callback was used to indicate to the hardware,
when it was safe to calibrate. This didn't really work properly, because it
depends on a specific order of software scan callbacks vs. channel changes.
Also, software scans are not the only thing that triggers off-channel
activity, so it's better to use the newly added indication from mac80211 for
this and not use the software scan callback for anything calibration related.This fixes at least some of the invalid noise floor readings that I've seen
in AP mode on AR9160Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Writes to the analog shift registers, which are issues by the initval
programming function, require a 100 usec delay (similar to AR9002,
but in a different register range).Signed-off-by: Felix Fietkau
Acked-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
When updating the PAPRD table in hardware, PAPRD itself needs to be
disabled first, otherwise the hardware can throw a data bus error,
which upsets at least some platforms.Signed-off-by: Felix Fietkau
Acked-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
The periodic noise floor calibration is broken on this chip family, because
it keeps triggering a software-filtered noise floor calibration, but never
reads the result before uploading the history buffer value to the hardware.Fix this with a call to ath9k_hw_getnf(), just like on AR9002.
Signed-off-by: Felix Fietkau
Acked-by: Luis R. Rodriguez
Signed-off-by: John W. Linville -
On AR9003 the initial noise floor calibration is currently triggered
at the end of the reset without allowing the hardware to update the
baseband settings. This could potentially make scans in noisy
environments a bit more unreliable, so use the same calibration
sequence that is used on AR9002.Signed-off-by: Felix Fietkau
Acked-by: Luis R. Rodriguez
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 -
commit f84b29ec0a1ab767679d3f2428877b65f94bc3ff
Author: Johannes Berg
Date: Tue May 18 02:29:13 2010 -0700iwlwifi: queue user-initiated scan when doing internal scan
introduced a potential deadlock because it calls
ieee80211_scan_completed() with the priv->mutex
held, but mac80211 may call back into iwlwifi
which would lead to recursive locking. Move this
out from under the mutex.Cc: stable@kernel.org
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
04 Aug, 2010
7 commits
-
Check result code of L2CAP information response. Otherwise
it would read invalid feature mask and access invalid memory.Signed-off-by: Ville Tervo
Signed-off-by: Marcel Holtmann -
If the remote side doesn't support Enhanced Retransmission Mode neither
Streaming Mode, we shall not send the RFC option.Some devices that only supports Basic Mode do not understanding the RFC
option. This patch fixes the regression found with these devices.Signed-off-by: Gustavo F. Padovan
Signed-off-by: Marcel Holtmann -
Marvell 88ec048 is a derivative of its 88e1121r device. From the programmer's
perspective, the one major difference is the addition of an additional control
bit in Page 2 Register 16 - used to control the padding of odd nibble
preambles.This patch adds support for this new device, while inheriting as much code as
possible from the existing 88e1121r implementation.Signed-off-by: Cyril Chemparathy
Signed-off-by: David S. Miller -
This patch addresses an issue seen on 82580 in which the MDICNFG
register will be reset during a single function reset and as a
result we will be unable to communicate with the PHY. To correct
the issue, added a call to reset_mdicnfg just prior to the first
access of the MDICNFG register in sgnii_uses_mdio.Signed-off-by: Alexander Duyck
Tested-by: Jeff Pieper
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
The MAC-PHY interconnect register set on ICH/PCH parts is accessed through
a peephole mechanism by writing an offset to a CSR register. The offset
for the interconnect's half-duplex control register (which is used in a
jumbo frame workaround for 82579) is incorrect.Signed-off-by: Bruce Allan
Tested-by: Jeff Pieper
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds a new product ID to the hso driver.
Signed-off-by: Filip Aben
Signed-off-by: David S. Miller -
This patch adds a driver for esd's USB high speed
CAN interface. The driver supports devices with
multiple CAN interfaces.Signed-off-by: Matthias Fuchs
Acked-by: Wolfgang Grandegger
Signed-off-by: David S. Miller
03 Aug, 2010
7 commits
-
The header file l2tp.h should be exported to the installed include/linux/
tree for userspace programs.This patch fixes compilation errors in L2TP userspace apps which want to
use the new L2TP support introduced in 2.6.35.Signed-off-by: James Chapman
Signed-off-by: Andrew Morton
Signed-off-by: David S. Miller -
Commit fc6055a5ba31e2c14e36e8939f9bf2b6d586a7f5 (net: Introduce
skb_orphan_try()) allows an early orphan of the skb and takes care on
tx timestamping, which needs the sk-reference in the skb on driver level.
So does the can-raw socket, which has not been taken into account here.The patch below adds a 'prevent_sk_orphan' bit in the skb tx shared info,
which fixes the problem discovered by Matthias Fuchs here:http://marc.info/?t=128030411900003&r=1&w=2
Even if it's not a primary tx timestamp topic it fits well into some skb
shared tx context. Or should be find a different place for the information to
protect the sk reference until it reaches the driver level?Signed-off-by: Oliver Hartkopp
Signed-off-by: David S. Miller -
This reverts commit 15e83ed78864d0625e87a85f09b297c0919a4797.
As explained by Johannes Berg, the optimization made here is
invalid. Or, at best, incomplete.Not only destructor invocation, but conntract entry releasing
must be executed outside of hw IRQ context.So just checking "skb->destructor" is insufficient.
Signed-off-by: David S. Miller
-
Commit ab95bfe01f9872459c8678572ccadbf646badad0 replaces bridge and macvlan
hooks in __netif_receive_skb(), so dev.c doesn't need to include their headers.Signed-off-by: Changli Gao
Signed-off-by: David S. Miller -
Conflicts:
drivers/net/e1000e/hw.h
net/bridge/br_device.c
net/bridge/br_input.c -
This patch adds support for RGMII RX/TX delay configuration on marvell 88e1121
and derivatives. With this patch, PHY_INTERFACE_MODE_RGMII_*ID modes are now
supported on these devices.Signed-off-by: Cyril Chemparathy
Signed-off-by: David S. Miller -
It was possible to use a negative offset in a u32 match to reference
the ethernet header or other parts of the link layer header.
This fixes the regression caused by:commit fbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d
Author: Changli Gao
Date: Wed Jun 2 07:32:42 2010 -0700cls_u32: use skb_header_pointer() to dereference data safely
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller