#
3db1cd5c |
| 19-Dec-2011 |
Rusty Russell <rusty@rustcorp.com.au> |
net: fix assignment of 0/1 to bool variables.
DaveM said: Please, this kind of stuff rots forever and not using bool properly drives me crazy.
Joe Perches <joe@perches.com> gave me the spatch
net: fix assignment of 0/1 to bool variables.
DaveM said: Please, this kind of stuff rots forever and not using bool properly drives me crazy.
Joe Perches <joe@perches.com> gave me the spatch script:
@@ bool b; @@ -b = 0 +b = false @@ bool b; @@ -b = 1 +b = true
I merely installed coccinelle, read the documentation and took credit.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
39586bf2 |
| 13-Dec-2011 |
Ryan Hsu <ryanhsu@qca.qualcomm.com> |
ath6kl: Support different uart_tx pin and refclk configuration
AR6003 family use uart_tx=8 and refclk=26Mhz by default, and AR6004 family uses different uart_tx pin and could also support various xt
ath6kl: Support different uart_tx pin and refclk configuration
AR6003 family use uart_tx=8 and refclk=26Mhz by default, and AR6004 family uses different uart_tx pin and could also support various xtal source, moves these per hw configuration.
Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
10509f90 |
| 13-Dec-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: implement scheduled scan
ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer
ath6kl: implement scheduled scan
ath6kl firmware supports scheduled scan functionality with the wow ssid filter. But the firmware does not send any events after scan results so I had to add a timer which notifies about new scan results.
Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't support sched scan the driver will not enable the feature.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
277d90f4 |
| 13-Dec-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: fix reading of FW IE capabilities
For some strange reason I used ALIGN() to calculate index to the buffer. That is totally bogus and wouldn't work when it tried to read the second bit. Fix i
ath6kl: fix reading of FW IE capabilities
For some strange reason I used ALIGN() to calculate index to the buffer. That is totally bogus and wouldn't work when it tried to read the second bit. Fix it by removing the ALIGN() altogether.
Also check that ie_len is not too short.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc5, v3.2-rc4, v3.2-rc3 |
|
#
7c4ef712 |
| 18-Nov-2011 |
Johannes Berg <johannes.berg@intel.com> |
cfg80211: add flags for off-channel capabilities
Currently mac80211 implements these for all devices, but given restrictions of some devices that isn't really true, so prepare for being able to remo
cfg80211: add flags for off-channel capabilities
Currently mac80211 implements these for all devices, but given restrictions of some devices that isn't really true, so prepare for being able to remove the capability for some mac80211 devices.
Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
b64de356 |
| 17-Nov-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Enable multiple vif support
The maximum number of supported virtual interfaces are 3.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@q
ath6kl: Enable multiple vif support
The maximum number of supported virtual interfaces are 3.
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
f143379d |
| 17-Nov-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Find ar->max_norm_iface in firmware IE parsing
Currently the max number of vifs which can be used for non-p2p mode is determined in ath6kl_core_alloc(). But the maximum supported vifs are pa
ath6kl: Find ar->max_norm_iface in firmware IE parsing
Currently the max number of vifs which can be used for non-p2p mode is determined in ath6kl_core_alloc(). But the maximum supported vifs are parsed from firmware IE in ath6kl_fetch_fw_api2() which would happen after ath6kl_core_alloc().
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
Revision tags: v3.2-rc2 |
|
#
fb94333a |
| 08-Nov-2011 |
Arik Nemtsov <arik@wizery.com> |
ath6kl: indicate probe-resp offload support
The ath6kl responds to probe-requests in HW while operating as an AP. It supports offloading exclusions to support the WPS, WPS2, P2P and 802.11u protocol
ath6kl: indicate probe-resp offload support
The ath6kl responds to probe-requests in HW while operating as an AP. It supports offloading exclusions to support the WPS, WPS2, P2P and 802.11u protocols.
Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
368b1b0f |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware IE for maximum number of vifs
Not all firmwares support multiple vifs and we need to read the limit from the firmware image.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
71f96ee6 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: make maximum number of vifs runtime configurable
Needed when detecting how many vifs firmware supports.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
d1a9421d |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware filename info to struct ath6kl_hw
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
0d0192ba |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: use hardware version names consistently
Part of ath6kl uses "REV3" style of naming hardware versions and elsewhere "hw 2.1.1" is used instead for the same version. This is confusing, use the
ath6kl: use hardware version names consistently
Part of ath6kl uses "REV3" style of naming hardware versions and elsewhere "hw 2.1.1" is used instead for the same version. This is confusing, use the latter term everywhere.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
293badf4 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add name field to struct ath6kl_hw
To make it easier to print name for each hardware type. Also move the hw info print to ath6kl_init_hw_start() which is more logical place for it.
Signed-o
ath6kl: add name field to struct ath6kl_hw
To make it easier to print name for each hardware type. Also move the hw info print to ath6kl_init_hw_start() which is more logical place for it.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
03ef0250 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add firmware IE for board data address
Board data address can change between firmwares so we need to read that from the firmware image.
Also fix debug log for the patch address to print the
ath6kl: add firmware IE for board data address
Board data address can change between firmwares so we need to read that from the firmware image.
Also fix debug log for the patch address to print the address in hex.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
0d4d72bf |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add board address to struct ath6kl_hw
This is to make it configurable by firmware IEs. Also determine if we need to write or read the board address to the chip by checking if board address i
ath6kl: add board address to struct ath6kl_hw
This is to make it configurable by firmware IEs. Also determine if we need to write or read the board address to the chip by checking if board address is set or not.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
856f4b31 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: move hw version related to parameters to struct
It's easier to handle the values when they are defined in a struct.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
f275dc71 |
| 14-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: remove hw version related parameter defines
Having separate defines, in a different file, makes it difficult to read the actual values. As we are just setting named fields in a struct the de
ath6kl: remove hw version related parameter defines
Having separate defines, in a different file, makes it difficult to read the actual values. As we are just setting named fields in a struct the defines don't make any sense anymore.
There are no functional changes, only moving of constants.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
50e2740b |
| 11-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: firmware boot fixes for ar6004
These have changed a bit since last time ar6004 code was commited.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
Revision tags: v3.2-rc1 |
|
#
8277de15 |
| 03-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add suspend_cutpower module parameter
This is to force ath6kl to power off hardware during suspend even if sdio support keep power. This is needed, for example, when sdio controller is buggy
ath6kl: add suspend_cutpower module parameter
This is to force ath6kl to power off hardware during suspend even if sdio support keep power. This is needed, for example, when sdio controller is buggy or maximum powersaving is desired.
Usage:
insmod ath6kl.ko suspend_cutpower=1
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
cf97fa9f |
| 03-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: don't power down hardware when interface is down
Jouni reported that my patch "ath6kl: power down hardware when interface is down" caused a regression on his x86 boxes and scan didn't work a
ath6kl: don't power down hardware when interface is down
Jouni reported that my patch "ath6kl: power down hardware when interface is down" caused a regression on his x86 boxes and scan didn't work anymore. I was able to reproduce the problem by disabling all debug messages.
So there has to be a race condition somewhere in the code and disable the functionality until the race is fixed. Now hardware is powered from the point where module is loaded until it's removed.
Reported-by: Jouni Malinen <jouni@qca.qualcomm.com> Tested-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
11f6e40d |
| 01-Nov-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Fix lockdep warning
The following is the lockdep warning which detects possible deadlock condition with the way ar->lock and ar->list_lock are being used.
(&(&ar->lock)->rlock){+.-...}, a
ath6kl: Fix lockdep warning
The following is the lockdep warning which detects possible deadlock condition with the way ar->lock and ar->list_lock are being used.
(&(&ar->lock)->rlock){+.-...}, at: [<ffffffffa0492d13>] ath6kl_indicate_tx_activity+0x83/0x110 [ath6kl] but this lock took another, SOFTIRQ-unsafe lock in the past: (&(&ar->list_lock)->rlock){+.+...}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this: Possible interrupt unsafe locking scenario:
CPU0 CPU1 ---- ---- lock(&(&ar->list_lock)->rlock); local_irq_disable(); lock(&(&ar->lock)->rlock); lock(&(&ar->list_lock)->rlock); <Interrupt> lock(&(&ar->lock)->rlock);
*** DEADLOCK ***
softirqs have to be disabled when acquiring ar->list_lock to avoid the above deadlock condition. When the above warning printed the interface is still up and running without issue.
Reported-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
76a9fbe2 |
| 01-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add state variable depicting hw/fw state
This way it's easier to track state changes and in the future add more warnings about using hardware in wrong states. Currently there are few random
ath6kl: add state variable depicting hw/fw state
This way it's easier to track state changes and in the future add more warnings about using hardware in wrong states. Currently there are few random flags for trying to do the same, those will be cleaned and removed in the future.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
6250aac6 |
| 30-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: print firmware crashes always
Currently firmware crash dump is printed only if debug is enabled. Change it so that the crash dump is always printed.
Also move the code from init.c to hif.c.
ath6kl: print firmware crashes always
Currently firmware crash dump is printed only if debug is enabled. Change it so that the crash dump is always printed.
Also move the code from init.c to hif.c.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
5fe4dffb |
| 30-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: power down hardware when interface is down
The benefit from this is that user space can control hardware's power state by putting interface up and down. This is handy if firmware gets to som
ath6kl: power down hardware when interface is down
The benefit from this is that user space can control hardware's power state by putting interface up and down. This is handy if firmware gets to some weird state.
The downside will be that putting interface up takes a bit longer, I was measuring ~500 ms during interface up.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
20459ee2 |
| 27-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: separate hardware boot code from module initialisation code
Refactor the code needed to boot the hardware to a separate function so that it will be easier boot and shutdown hardware.
No fun
ath6kl: separate hardware boot code from module initialisation code
Refactor the code needed to boot the hardware to a separate function so that it will be easier boot and shutdown hardware.
No functional changes (hopefully).
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|