Age | Commit message (Collapse) | Author | Files | Lines |
|
ath9k channel table for 2Ghz does not seems to initialize the 'band'
parameter.Though it does not seems to cause any visible issue it looks
odd when we initialize the 'band' parameter for 5Ghz channel table while
not so for 2Ghz.
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Signed-off-by: Anisse Astier <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
When rfkill is enabled, ath9k_hw unnecessarily configured the baseband to
turn off based on GPIO input, however that code was hardcoded to GPIO 0
instead of ah->rfkill_gpio.
Since ath9k uses software rfkill anyway, this code is completely unnecessary
and should be removed in case anything else ever uses GPIO 0.
Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
To improve aggregation length, there should not be more than two fully formed
A-MPDU frames in the hardware queue. To ensure this, the code checks the tx
queue length before forming new A-MPDUs. This can reduce the throughput (or
maybe even starve out A-MPDU traffic) when too many non-aggregated frames are
in the queue.
Fix this by keeping track of pending A-MPDU frames (even when they're sent out
as single frames), but exclude rate control probing frames to improve
performance.
Signed-off-by: Felix Fietkau <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Signed-off-by: John W. Linville <[email protected]>
Tested-by: Larry Finger <[email protected]>
|
|
Signed-off-by: Bruno Randolf <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Fix runtime warning with backtrace from hostap by removing
netif_stop_queue() call before register_netdev. Tested to work fine on
hostap_pci Prism 2.5.
(This removes a warning about calling netif_stop_queue before
register_netdev is called. -- JWL)
Signed-off-by: Meelis Roos <[email protected]>
Acked-by: David S. Miller <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
All rt2x00 drivers except rt2800pci call ieee80211_tx_status() from
a workqueue, which causes "NOHZ: local_softirq_pending 08" messages.
To fix it, add ieee80211_tx_status_ni() similar to ieee80211_rx_ni()
which can be called from process context, and call it from
rt2x00lib_txdone(). For the rt2800pci special case a driver
flag is introduced.
https://bugzilla.kernel.org/show_bug.cgi?id=24892
Signed-off-by: Johannes Stezenbach <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/bnx2x/bnx2x.h
drivers/net/wireless/iwlwifi/iwl-1000.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/vhost/vhost.c
|
|
Signed-off-by: Larry Finger <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
The old survey implementation was broken and returned nonsense data.
Clear cycle counters and survey data on reset. Since the cycle counters easily
overflow it's better to keep a local version of collected survey data (in ms
resolution, instead of clockrate) and update this every time survey is
retrieved. If survey is retrieved often enough to avoid cycle counter overflows
this works fine, otherwise we could update survey more often, like ath9k does.
Still only the survey for the current channel is kept.
Signed-off-by: Bruno Randolf <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
After merge of the rtl8192ce driver, a powerpc build fails with:
drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c: In function 'rtl92c_init_sw_vars':
drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:76: error: implicit declaration of function 'vmalloc'
drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:76: warning: cast to pointer from integer of different size
drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c: In function 'rtl92c_deinit_sw_vars':
drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192c-sw.c:91: error: implicit declaration of function 'vfree'
The problem is fixed by explicitly including the appropriate header.
Signed-off-by: Larry Finger <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
The reg_notifier() was recently updated as being capable of
having the request passed as NULL, fix ath to follow this API
change. Without this we end up oopsing:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000004
IP: [<ffffffffa02fb8cb>] ath_reg_notifier_apply+0x5b/0xa0 [ath]
PGD b4c4c067 PUD b4c4d067 PMD 0
Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
last sysfs file: /sys/devices/pci0000:00/0000:00:1b.0/uevent
CPU 1
Modules linked in: <etc>
Pid: 436, comm: modprobe Not tainted 2.6.37-rc5-wl+ #36 6460DWU/6460DWU
RIP: 0010:[<ffffffffa02fb8cb>] [<ffffffffa02fb8cb>] ath_reg_notifier_apply+0x5b/0xa0 [ath]
RSP: 0018:ffff8800b6f6baa8 EFLAGS: 00010246
RAX: ffff8800b527b254 RBX: ffff8800b532c180 RCX: 0000000000000018
RDX: ffff8800b530c108 RSI: 0000000000000000 RDI: ffff8800b532c180
RBP: ffff8800b6f6baa8 R08: ffff8800b532f268 R09: 0000000000000235
R10: 00000000000016ad R11: 0000000000000018 R12: 0000000000000000
R13: 0000000000000016 R14: ffff8800b532f268 R15: 0000000000000011
FS: 00007f0c53104700(0000) GS:ffff8800bed00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000004 CR3: 00000000b6531000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process modprobe (pid: 436, threadinfo ffff8800b6f6a000, task ffff8800b404dc40)
Stack:
ffff8800b6f6bac8 ffffffffa03ea651 ffff8800b532c180 ffff8800b527b254
ffff8800b6f6bb38 ffffffffa01835ca ffffffffa019ed00 00000000a019ed80
0000000000000002 ffff880000000002 ffffffffa0366140 0000000010aee572
Call Trace:
[<ffffffffa03ea651>] ath9k_reg_notifier+0x41/0x50 [ath9k]
[<ffffffffa01835ca>] wiphy_update_regulatory+0x4ba/0x5a0 [cfg80211]
[<ffffffffa0366140>] ? ieee80211_register_hw+0xa0/0x5b0 [mac80211]
[<ffffffffa0366140>] ? ieee80211_register_hw+0xa0/0x5b0 [mac80211]
[<ffffffffa017f994>] wiphy_register+0x1d4/0x360 [cfg80211]
[<ffffffff8114b918>] ? __kmalloc+0x108/0x1c0
[<ffffffffa0366223>] ieee80211_register_hw+0x183/0x5b0 [mac80211]
[<ffffffffa03eb49b>] ath9k_init_device+0x66b/0x850 [ath9k]
[<ffffffffa03f9dd6>] ath_pci_probe+0x2f6/0x3c0 [ath9k]
[<ffffffff81037529>] ? default_spin_lock_flags+0x9/0x10
[<ffffffff812e19cf>] local_pci_probe+0x5f/0xd0
[<ffffffff812e2bf1>] pci_device_probe+0x101/0x120
[<ffffffff81390aca>] ? driver_sysfs_add+0x7a/0xb0
[<ffffffff81390c26>] driver_probe_device+0x96/0x1c0
[<ffffffff81390deb>] __driver_attach+0x9b/0xa0
[<ffffffff81390d50>] ? __driver_attach+0x0/0xa0
[<ffffffff81390008>] bus_for_each_dev+0x68/0x90
[<ffffffff81390a4e>] driver_attach+0x1e/0x20
[<ffffffff81390309>] bus_add_driver+0xe9/0x290
[<ffffffffa0407000>] ? ath9k_init+0x0/0x4d [ath9k]
[<ffffffff81391130>] driver_register+0x80/0x150
[<ffffffffa0407000>] ? ath9k_init+0x0/0x4d [ath9k]
[<ffffffffa0407000>] ? ath9k_init+0x0/0x4d [ath9k]
[<ffffffff812e2e76>] __pci_register_driver+0x56/0xd0
[<ffffffffa03f9ec3>] ath_pci_init+0x23/0x30 [ath9k]
[<ffffffffa040702b>] ath9k_init+0x2b/0x4d [ath9k]
[<ffffffff81002053>] do_one_initcall+0x43/0x190
[<ffffffff8109fb5b>] sys_init_module+0xbb/0x200
[<ffffffff8100c042>] system_call_fastpath+0x16/0x1b
Code: <who even reads this anyway? haha, ok you do>
RIP [<ffffffffa02fb8cb>] ath_reg_notifier_apply+0x5b/0xa0 [ath]
RSP <ffff8800b6f6baa8>
CR2: 0000000000000004
---[ end trace 6d03d3c7eda9f06b ]---
Signed-off-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Target Tx power available in eeprom is for PAPRD. If PAPRD
fails, paprd scale factor needs to be detected from this
target tx power.
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
When the drop in Tx power for a particular mcs rate exceeds
the paprd scale factor, paprd may not work properly. Disable
paprd for any such rates.
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Add multiple Tx IQ cal support to improve EVM accross
different power levels.
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
This helper can be used in multiple places. Also make
it inline returning u8.
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
ar9003_hw_tx_iq_cal()
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
This is not needed for AR9003.
Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx
|
|
While compiling linux-next (next-20101216) I fell over this breakage:
...
drivers/net/wireless/iwlwifi/iwl-agn-rs.c: In function ‘iwl_rs_rate_init’:
drivers/net/wireless/iwlwifi/iwl-agn-rs.c:2876:8: error: ‘struct iwl_lq_sta’ has no member named ‘dbg_fixed_rate’
dbg_fixed_rate is only used when CONFIG_MAC80211_DEBUGFS is set:
[ drivers/net/wireless/iwlwifi/iwl-agn-rs.h ]
...
#ifdef CONFIG_MAC80211_DEBUGFS
struct dentry *rs_sta_dbgfs_scale_table_file;
struct dentry *rs_sta_dbgfs_stats_table_file;
struct dentry *rs_sta_dbgfs_rate_scale_data_file;
struct dentry *rs_sta_dbgfs_tx_agg_tid_en_file;
u32 dbg_fixed_rate;
#endif
The issue was introduced by commit a1da077bc36368eb7d6312e7e49260f0a3d92c77:
"iwlwifi: clear dbg_fixed_rate during init"
Signed-off-by: Sedat Dilek <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Use "__packed" instead of "__attribute__ ((packed))"...
Signed-off-by: John W. Linville <[email protected]>
|
|
PM-QOS value can be user specified via module parameter.
This patch adds few comments regarding this in the driver
code.
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
This is not required for USB devices.
Signed-off-by: Sujith Manoharan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Allow drivers or rate control algorithms to specify BlockAck session
timeout when initiating an ADDBA transaction. This is useful in cases
where maintaining persistent BA sessions does not incur any overhead.
The current timeout value of 5000 TUs is retained for all non ath9k/ath9k_htc
drivers.
Signed-off-by: Sujith Manoharan <[email protected]>
Reviewed-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
patch "iwlagn: check ready in iwlagn_bss_info_changed()" introduce
whitespace, fix it
please merge with the previous patch
Reported by: Johannes Berg <[email protected]>
Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
This patch allows the pm-qos value to be user configurable by making it as
a module parameter.This will help our customers to configure the pm-qos
value according to the effect in throughput due to the DMA latency problem
which was observed in Intel Pinetrail platforms.
The tested value of '55' will be filled as the default
pm-qos-value incase the user does not specifies pm-qos value as a
module parameter.
example usage: sudo modprobe ath9k pmqos=65
Cc: Senthilkumar Balasubramanian <[email protected]>
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-1000.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c
drivers/net/wireless/iwlwifi/iwl-core.h
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-1000.c
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-core.h
|
|
Signed-off-by: Larry Finger <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
|
|
Change some file names and Kconfig settings so that this new module matches
the new way of using wl12xx instead of wl1271.
Also fix SDIO power enabling and disabling to match the latest way of doing
it.
Cc: Roger Quadros <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
With the current single-queue implementation traffic priorization is not
working correctly - when using multiple BE streams and one, say VI stream,
the VI stream will share bandwidth almost equally with the BE streams.
To fix the issue, implement per AC queues, which are emptied in priority
order to the firmware. To keep it relatively simple, maintain a global
buffer count and global queue stop/wake instead of per-AC.
With these changes, priorization appears to work just fine.
Signed-off-by: Juuso Oikarinen <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
Currently, the debug level is set in compilation time (by the DEBUG_LEVEL
const). This method has the advantage of compiling only the relevant
messages, while optimizing out the unused ones.
In order to allow runtime control over the debug_level, while optimizing
out messages when debug messages are not needed, we combine some methods:
1. use dynamic_debug (pr_debug) rather then printk.
2. add debug_level module param in order to set debug level during insmod.
3. add debug_level sysfs file in order to allow dynamic control over the
debug level.
Since patches for pr_debug_hex_dump() implementation haven't been applied yet,
we are still temporarly using print_hex_dump().
Signed-off-by: Eliad Peller <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
Inclusion of a WPS IE in probe requests caused a problem
in the driver due to the maximum size of the probe request
template and the max_scan_ie_len values at initialization.
Increased the size of probe request template
to the maximum size allowed by the firmware.
Struct wl12xx_probe_req_template, which was only used
for calculating the max size of the probe request template,
is no longer used and needed.
max_scan_ie_len is used for validating the size of
additional IEs in scan requests.
Initialized the max_scan_ie_len field to the maximum size
of the probe request template minus the ieee80211 header size.
Signed-off-by: Guy Eilam <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
The auto-arp feature of wl12xx allows the firmware to automatically
response to arp requests asking for its ip.
in order to use it, we configure the arp response template and
enable the corresponding bit in wl1271_acx_arp_filter (along with
passing its ip)
Signed-off-by: Eliad Peller <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
This module enables individually generating RX and TX traffic
over the SDIO bus on which the WL1271 chipset is connected.
This is required to perform RF interference testing.
The module takes 2 module parameters 'rx' and 'tx'.
To generate RX traffic:
modprobe wl1271_sdio_test rx=1
To generate TX traffic:
modprobe wl1271_sdio_test tx=1
To generate both RX & TX traffic, set both rx and tx to 1.
You can change the testing configuration at runtime by changing
the rx & tx values at /sys/modules/wl1271_sdio_test/
To stop testing simply unload the module.
Signed-off-by: Roger Quadros <[email protected]>
Reviewed-by: Carlos Chinea <[email protected]>
Signed-off-by: Luciano Coelho <[email protected]>
|
|
Disabling the 11a channels when not supported in the reg_notify function was
not working as it should, because when the driver is initiailizing (and
registering itself with mac80211), it would get the reg notification too
early. At that point the driver wouldn't have received the NVS yet, so it
wouldn't know whether 11a was supported.
To fix this, we disable 11a channels when we read the NVS instead. Also, it
is easier (and still safe) to set n_channels to zero instead of setting the
disabled flag on every 11a channel.
Signed-off-by: Luciano Coelho <[email protected]>
|
|
cancel_delayed_work_sync()
cancel_rearming_delayed_work[queue]() has been superceded by
cancel_delayed_work_sync() quite some time ago. Convert all the
in-kernel users. The conversions are completely equivalent and
trivial.
Signed-off-by: Tejun Heo <[email protected]>
Acked-by: "David S. Miller" <[email protected]>
Acked-by: Greg Kroah-Hartman <[email protected]>
Acked-by: Evgeniy Polyakov <[email protected]>
Cc: Jeff Garzik <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Mauro Carvalho Chehab <[email protected]>
Cc: [email protected]
Cc: Anton Vorontsov <[email protected]>
Cc: David Woodhouse <[email protected]>
Cc: "J. Bruce Fields" <[email protected]>
Cc: Neil Brown <[email protected]>
Cc: Alex Elder <[email protected]>
Cc: [email protected]
Cc: Christoph Lameter <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: [email protected]
Cc: Trond Myklebust <[email protected]>
Cc: [email protected]
|
|
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)
pppoe.c: Fix kernel panic caused by __pppoe_xmit
WAN: Fix a TX IRQ causing BUG() in PC300 and PCI200SYN drivers.
bnx2x: Advance a version number to 1.60.01-0
bnx2x: Fixed a compilation warning
bnx2x: LSO code was broken on BE platforms
qlge: Fix deadlock when cancelling worker.
net: fix skb_defer_rx_timestamp()
cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes
phy: add the IC+ IP1001 driver
atm: correct sysfs 'device' link creation and parent relationships
MAINTAINERS: remove me from tulip
SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address
enic: Bug Fix: Pass napi reference to the isr that services receive queue
ipv6: fix nl group when advertising a new link
connector: add module alias
net: Document the kernel_recvmsg() function
r8169: Fix runtime power management
hso: IP checksuming doesn't work on GE0301 option cards
xfrm: Fix xfrm_state_migrate leak
net: Convert netpoll blocking api in bonding driver to be a counter
...
|
|
This USB ID is for the WUBI-100GW 802.11g Wireless LAN USB Device that
uses p54usb.
Signed-off-by: Larry Finger <[email protected]>
Signed-off-by: Eduardo Costa <[email protected]>
Cc: Stable <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
|
|
Multiple devices use almost the same .cfg with minor differences.
Use macro and remove the duplication. By doing this, reduce
the chance for mistake while modify .cfg parameters
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
For debugging purpose, keep track of the bt coex enable/disable state.
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
For WiFi/WiMAX combo devices, if WiMAX own the RF, WiFi driver
try to access RF and fail. This is the W/A to To avoid WiFi keep
reloading firmware and try to access RF again.
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
For enhanced tx power table in EEPROM, add more detail logging
to help debugging
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
For logging EEPROM related info, instead of using IWL_DEBUG_INFO,
use the dedicated logging (IWL_DEBUG_EEPROM) for easier debugging
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
Adding new debug type to log EEPROM related data
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
This removes the old TX power reading code, it isn't
necessary since the new code is able to read all the
various EEPROM layouts due to relying on information
contained in the EEPROM.
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Wey-Yi Guy <[email protected]>
|
|
The current EEPROM reading code has some layout
assumptions that now turned out to be false with
some newer versions of the EEPROM. Luckily, we
can avoid all such assumptions by using data in
the EEPROM itself, so implement using that.
However, for risk mitigation purposes, keep the
old reading code for current hardware for now.
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: Wey-Yi Guy <[email protected]>
|