#
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 d
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->
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 ...
|
#
52d81a68 |
| 01-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: implement ath6kl_cfg80211_suspend() This is in preparation for cutpower suspend feature. HIF layer makes the decision based on information provided by cfg80211 and what hardware
ath6kl: implement ath6kl_cfg80211_suspend() This is in preparation for cutpower suspend feature. HIF layer makes the decision based on information provided by cfg80211 and what hardware actually supports. Then it calls ath6kl_cfg80211_suspend() to enable the chosen mode. Functionality should be the same, this is just preparation for more suspend modes (cutpower and wow). Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
ec4b7f60 |
| 01-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: create ath6kl_cfg80211_stop() Just take code from deep sleep for now, will be improved later. No functional changes. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
1c17d313 |
| 01-Nov-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: add aborted parameter to ath6kl_cfg80211_scan_complete_event() Currently it takes an error code as status, but what we really want to tell is if the scan was aborted or not.
ath6kl: add aborted parameter to ath6kl_cfg80211_scan_complete_event() Currently it takes an error code as status, but what we really want to tell is if the scan was aborted or not. Also fix a bug where we were comparing firmware scan status values with kernel error codes, which is obviously wrong. This meant that ath6kl didn't detect when firmware informed about failed scans. I doubt that this fix doesn't make any difference in practise but it still needs to be fixed. This is fixed by adding an enum for the success status code and checking for that. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
68469341 |
| 30-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: fix WLAN_ENABLE usage in ath6kl_close() If ath6kl_init_hw_stop() failed with an error WLAN_ENABLED would not be cleared. Found during code review and just a theoretical issue.
ath6kl: fix WLAN_ENABLE usage in ath6kl_close() If ath6kl_init_hw_stop() failed with an error WLAN_ENABLED would not be cleared. Found during code review and just a theoretical issue. 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
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 ...
|
#
d23ace77 |
| 24-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: remove unused debug levels Few levels had only one user so I changed them to use WLAN_CFG. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
f2f92195 |
| 24-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: move all credit distribution code to htc.c As htc is the only user there's no reason to keep it in main.c. No functional changes. Signed-off-by: Kalle Valo <kvalo@q
ath6kl: move all credit distribution code to htc.c As htc is the only user there's no reason to keep it in main.c. No functional changes. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
3c370398 |
| 24-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: rename struct htc_credit_state_info to ath6kl_htc_credit_info Also rename cred_dist_cntxt to credit_info in struct htc_target. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.
ath6kl: rename struct htc_credit_state_info to ath6kl_htc_credit_info Also rename cred_dist_cntxt to credit_info in struct htc_target. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
fa99e963 |
| 24-Oct-2011 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath6kl: use ath6kl prefix in credit functions This is to follow the common style in the driver. Also add braces to fix a style issue. Signed-off-by: Kalle Valo <kvalo@qca.qualco
ath6kl: use ath6kl prefix in credit functions This is to follow the common style in the driver. Also add braces to fix a style issue. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
27929723 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Use the other variant of netdev (un)register APIs Use replace (un)register_netdev() with (un)register_netdevice() so that the same ath6kl function can be used with add_virtua
ath6kl: Use the other variant of netdev (un)register APIs Use replace (un)register_netdev() with (un)register_netdevice() so that the same ath6kl function can be used with add_virtual_intf()/del_virtual_intf(). Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
990bd915 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Maintain virtual interface in a list This patch removes all references to ar->vif and takes vif from a list. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualc
ath6kl: Maintain virtual interface in a list This patch removes all references to ar->vif and takes vif from a list. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
478ac027 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Introduce spinlock to protect vif specific information Use this spinlock to protect the vif's data instead of one from ath6kl. Signed-off-by: Vasanthakumar Thiagarajan <
ath6kl: Introduce spinlock to protect vif specific information Use this spinlock to protect the vif's data instead of one from ath6kl. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
d66ea4f9 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Store hw mac address in struct ath6kl WMI ready event gives the mac address, cache this mac address in struct ath6kl so that it can be used to compute the mac address for oth
ath6kl: Store hw mac address in struct ath6kl WMI ready event gives the mac address, cache this mac address in struct ath6kl so that it can be used to compute the mac address for other vif in case of multi vif. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
6765d0aa |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Use interface index from wmi data headr Interface index is passed in wmi data header as well, use it to get the corresponding vif structure. Signed-off-by: Vasanthakumar
ath6kl: Use interface index from wmi data headr Interface index is passed in wmi data header as well, use it to get the corresponding vif structure. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
6db8fa53 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Refactor ath6kl_destroy() So that the deinitialization of ath6kl and vif are separated. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-b
ath6kl: Refactor ath6kl_destroy() So that the deinitialization of ath6kl and vif are separated. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
e29f25f5 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Cleanup parameters in ath6kl_init_control_info() and ath6kl_init_profile_info() Pass vif structure to those functions instead of ath6kl because these functions do vif specific in
ath6kl: Cleanup parameters in ath6kl_init_control_info() and ath6kl_init_profile_info() Pass vif structure to those functions instead of ath6kl because these functions do vif specific information initialization. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
28ae58dd |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Remove net_device from ath6kl Use one which is available in vif structure instead. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Ka
ath6kl: Remove net_device from ath6kl Use one which is available in vif structure instead. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
240d2799 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Take vif information from wmi event Interface index is passed in wmi command header from target. Use this index to get the appropriate vif. Signed-off-by: Vasanthakumar
ath6kl: Take vif information from wmi event Interface index is passed in wmi command header from target. Use this index to get the appropriate vif. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
334234b5 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Maintain firmware interface index in struct ath6kl_vif Pass this index to target in wmi commands to specify the interface for which the command needs to be handled. Sign
ath6kl: Maintain firmware interface index in struct ath6kl_vif Pass this index to target in wmi commands to specify the interface for which the command needs to be handled. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
b95907a7 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Make net and target stats vif specific Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
cf5333d7 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Move few more vif specific information to struct ath6kl_vif Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
14ee6f6b |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Move scan_req info and sme_state to vif Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
de3ad713 |
| 25-Oct-2011 |
Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> |
ath6kl: Move disconnect timer to vif structure Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|