summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)Author
2011-11-11ath6kl: Remove net_device from ath6klVasanthakumar Thiagarajan
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>
2011-11-11ath6kl: Take vif information from wmi eventVasanthakumar Thiagarajan
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>
2011-11-11ath6kl: Maintain firmware interface index in struct ath6kl_vifVasanthakumar Thiagarajan
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>
2011-11-11ath6kl: Make net and target stats vif specificVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move few more vif specific information to struct ath6kl_vifVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move scan_req info and sme_state to vifVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move disconnect timer to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move aggregation information to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move key information to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move channel information to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move bssid information to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move nw_type to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Move ssid and crypto information to vif structureVasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Define interface specific statesVasanthakumar Thiagarajan
Currently ar->flag maintains interface stats. Move interface specific states from ar->flag to vif->flags. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Define an initial vif structure and use itVasanthakumar Thiagarajan
vif specific information need to be moved from struct ath6kl. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Cleanup fw interface type settingVasanthakumar Thiagarajan
It is not necessary to use ath6kl_get_fw_iftype() to find out the firmware interface type during initialization because the type of the initial interface in INFRA_NETWORK. Hardcode the fw interface type corresponding to INFRA_BSS instead of using ath6kl_get_fw_iftype(). Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Refactor wiphy dev and net dev init functionsVasanthakumar Thiagarajan
This refactoring is done in a manner that it can be used for multiple virtual interface. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Keep wiphy reference in ath6kl structureVasanthakumar Thiagarajan
This is to avoid using ar->wdev to get wiphy pointer, this may need further cleanup for multi vif support. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Pass ath6kl structure to ath6kl_init() instead of net_deviceVasanthakumar Thiagarajan
ar is again taken from private area of net_device in ath6kl_init(), pass ar directly. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Implement support for background scan control from userspaceRishi Panjwani
In order to allow user space based control of background scan interval, we use available debugfs infrastructure. The feature has been added for testing purposes. The user has to write the bgscan interval (in secs) to the bgscan_interval file in ath6kl debug directory. To disable bgscan, a '0' is to be written to the bgscan_interval file. Example: echo "2" > bgscan_interval This will make the background scan interval as 2 seconds kvalo: changed implementation so that there's only one call to ath6kl_wmi_scanparams_cmd() Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: add debug level for hifKalle Valo
That way we htc level debug messages can be removed from hif files. Also add few new messages and remove useless debug message about using synchrous irq processing (we don't support anything else). Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: don't dump full htc packetsKalle Valo
It's currently possible to dump full sdio packets, so dumping htc packets is not strictly needed. So remove it, we can always add it back if there ever comes a need for that. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: cleanup htc debug messagesKalle Valo
Unify debug message format and other minor changes. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: merge htc debug levelsKalle Valo
It's not really necessary to have separate debug levels for htc tx and rx so combine them. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Implement support for QOS-enable and QOS-disable from userspaceRishi Panjwani
In order to allow user space based QOS control we use the available debugfs infrastructure. With this feature, user can make changes to qos parameters, thereby allowing creation and deletion of user defined priority streams and features like uapsd. This feature has been added for testing purposes. All 21 parameters for the create_qos command are mandatory in the correct order. They have to be written to the create_qos file in the ath6kl debug directory. These parameters(in order) are: 1)user priority 2)direction 3)traffic class 4)traffic type 5)voice PS capability 6)min service intvl 7)max service intvl 8)inactivity intvl 9)suspension intvl 10)serv start time 11)tsid 12)nominal msdu 13)max msdu 14)min data rate 15)mean data rate 16)peak data rate 17)max burst size 18)delay bound 19)min phy rate 20)surplus bw allowance 21)medium time To create a qos stream: echo "6 2 3 1 1 9999999 9999999 9999999 7777777 0 6 45000 200 56789000 56789000 5678900 0 0 9999999 20000 0" > create_qos delete_qos requires 2 parameters: 1)traffic class 2)tsid To delete a qos stream: echo "3 1" > delete_qos kvalo: minor commit log cleanup Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Fix endpoint_stats debugfs buffer length calculationJouni Malinen
The previous version did not really make much sense and the theoretical maximum length would be a bit longer. Calculate the length more accurately. In addition, there is no need to clear the buffer, so use kmalloc instead of kzalloc. For bonus points, add the forgotten cred_rpt_from_other value to the file. Reported-by: Joe Perches <joe@perches.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: unbreak suspendSam Leffler
Add missing {}'s that caused ath6kl_sdio_suspend to always return -EINVAL causing suspend to be aborted. kvalo: I broke this in commit f7325b85e ("ath6kl: add sdio debug messages") Signed-off-by: Sam Leffler <sleffler@chromium.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: fix firmware start address for ar6003 hw2.0Kalle Valo
Sangwook found out that commit 639d0b89 ("ath6kl: read firmware start address from hardware") broke firmware boot on ar6003 hw2.0 as it seems it's not posible to automatically query the address from hardware. So we need to hardcode the address for hw2.0. Reported-by: Sangwook Lee <sangwook.lee@linaro.org> Tested-by: Sangwook Lee <sangwook.lee@linaro.org> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Allow CCKM AKM and KRK to be configuredJouni Malinen
Use vendor-specific suite selectors to allow CCKM to be configured. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Add debugfs control for keepalive and disconnection timeoutJouni Malinen
The new debugfs files keepalive and disconnect_timeout can be used to fetch the current values and to change the values for keepalive and disconnect event timeout (both in seconds). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Add debugfs files for roaming controlJouni Malinen
Roaming mode can be changed by writing roam mode (default, bssbias, or lock) to roam_mode. Forced roam can be requested by writing the BSSID into force_roam. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Add debugfs file for target roam tableJouni Malinen
The new roam_table debugfs file can be used to display the current roam table from the target. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Add endpoint_stats debugfs fileJouni Malinen
This file can be used to fetch endpoint statistics counters and to clear them by writing 0 to it. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Add WSC IE on the associate messageKevin Fang
For some WPS test items, such as item "5.1.14" STAUT must include the WSC IE in the 802.11 Association Request frame. Therefore, add the corresponding IE in association message. Signed-off-by: Kevin Fang <kevin.fang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: fix null skb dereference in ath6kl_rx()Kalle Valo
smatch found that skb might be null in some cases in ath6kl_rx(): ath6kl/txrx.c +1252 ath6kl_rx(222) error: potential null derefence 'skb'. This will happen when ath6kl is in AP mode and two clients send traffic to each other. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: move remaining content from htc_hif.h to hif.hKalle Valo
Now htc_hif.h can be removed. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: remove unused values from htc_hif.hKalle Valo
Also remove some cache line optimisation. It was using hardcoded values which is wrong. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: move htc_hif to hif.cKalle Valo
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: return error block size is not power of 2Kalle Valo
Currently only a warning is emitted but no error is returned. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: fix struct host_app_area endian handlingKalle Valo
It was missing endian annotation. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: remove unused parameters from struct wmiKalle Valo
There's no use for these, at least right now, so better to remove them. If some of them are ever needed, we can always add them back. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: make sure WLAN power save is enabled during suspendChilam Ng
Power save is enabled during ath6kl init. But when user space disables power save, the system will go into suspend with power save disabled. The ath6kl driver will now explicitly enable power save prior to entering suspend and restore its previous setting upon resume Signed-off-by: Chilam Ng <chilamng@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Minor cleanup in msg_look_ahead parameter in ↵Vasanthakumar Thiagarajan
ath6kl_htc_rxmsg_pending_handler() It is just a four byte information of the received message from ath6kl_htc_rxmsg_pending_handler(). Remove unnecessary array representaion. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Avoid processing failed rx packetsVasanthakumar Thiagarajan
It is not necessary to process an htc_packet which is allocated for rx but failed in sdio rx. Though it does not fix any real issue, it does not make much sense to process the failed frame. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Fix htc_packet leak in ath6kl_htc_rx_fetch()Vasanthakumar Thiagarajan
It is found during the code review. As the leak would happen only in failure case, the imapct is not easily visible. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Fix htc_packet leak in ath6kl_htc_rx_process_packets()Vasanthakumar Thiagarajan
Packet is not reclaimed when ath6kl_htc_rx_process_hdr() fails. Fix this by deferring the packet deletion from comp_pktq till ath6kl_htc_rx_process_hdr() returns success. This bug is found in code review, impact is not easily visible as the leak happens only in failure cases. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Claim sdio function only at appropriate placesVasanthakumar Thiagarajan
There are places where tx_complete callbacks are called with claiming the sdio function. It is not necessary to hold the sdio func for longer. This may even affect the host side power save, if it is supported by the controller. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Replace spin_lock_irqsave with spin_lock_bhVasanthakumar Thiagarajan
It is not necessary to use spinlock primitive to protect data which is accessed in hard irq context as nothing is running in hard irq with this driver. The spinlock primitive meant to protect data in softirq context is more appropriate. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Fix sparse warning "symbol 'conn' shadows an earlier one"Vasanthakumar Thiagarajan
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-11-11ath6kl: Enable force foreground scan in connected stateVasanthakumar Thiagarajan
This was disabled beacause there was a network stall issue when scan is issued. This issue does not happen with the new firmware (3.1.1.609), enable it back. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>