aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
...
| | | * | ath6kl: read fwlog from firmware ring bufferKalle Valo2011-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmare sends the logs only when it's internal ring buffer is full. But if firmware crashes we need to retrieve the latest logs through diagnose window. This is now done everytime the debugfs file is read. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: cleanup diagnose window read and write functionsKalle Valo2011-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just to make them a bit easier to read and unify naming. 32 suffix in the function name means that it will be a 32 bit transfer. If there's no number a buffer is transfered instead. Use void pointers to get rid of ugly casts. Don't provide target address as a pointer, pass it by value. Same for the value used in write32(). Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: implement support to set firmware log parametersKalle Valo2011-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware log parameters can be controlled now with help of fwlog_mask debugfs file. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: add firmware log supportKalle Valo2011-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware sends binary logs with WMIX_DBGLOG_EVENTID event. Create a buffer which stores the latest logs and which can be copied from fwlog debugfs file with cp command. To save memory firmware log support is enabled only when CONFIG_ATH6KL_DEBUG is enabled. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Do not enable Probe Request reporting by defaultJouni Malinen2011-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probe Request reporting will be needed for P2P and WPS, but some firmware builds do not seem to like this when P2P is not enabled. Since we do not yet enable P2P, the safest option here is to just remove this call for now and bring it back as a more dynamic version once ath6kl starts advertising support for P2P. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: fix compilation when NL80211_TESTMODE is disabledKalle Valo2011-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ERROR: "ath6kl_tm_rx_report_event" [drivers/net/wireless/ath/ath6kl/ath6kl.ko] undefined Reported-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: add testmode supportKalle Valo2011-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is port from the staging version of ath6kl. The interface to user space is exactly same. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Define __CHECK_ENDIAN__ for sparseJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sparse check endianness with "make C=1". Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Return error from wmi.c instead of -EIO in ath6kl_cfg80211_scanJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Include P2P IE(s) in GO Probe Response depending on requestJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | P2P has special rules on when to include P2P IE(s) in Probe Response frame based on the Probe Request frame. Handle P2P IE(s) separately to follow these rules. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Do not clear CONNECT bit setting in AP mode for STA disconnectEdward Lu2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Lu <elu@qca.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix default key installation in AP modeEdward Lu2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Lu <elu@qca.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix a typo in ath6k contextEdward Lu2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Lu <elu@qca.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add support for new P2P iftypes in mode changesJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Advertise supported mgmt_stypesJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Report received Action frames to cfg80211Jouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Notify cfg80211 of TX status of mgmt_tx framesJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use WMI_TX_STATUS_EVENTID event to generate cfg80211_mgmt_tx_frame() calls. Since we support only a single pending frame for now, use the hardcoded cookie value 1 and store a copy of the pending frame in the driver. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Report received Probe Request frames to cfg80211Jouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Support channel set request for startscan commandEdward Lu2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Edward Lu <elu@qca.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Use set_appie command to add Probe Request IEsJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add cfg80211 calls for remain-on-channel eventsJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Request P2P capabilities during target initJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Implement mgmt_txJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Implement remain_on_channel and cancel_remain_on_channelJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add new WMI commands and events for P2PJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Use change_station() to authorize/unauthorize STAsJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Delay initial group key setup in AP modeJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target is not ready to accept addkey commands until the connect event has been delivered, so delay these operations for the initial GTK. In addition, properly set interface connected and mark netdev ready when the AP mode setup has been completed. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix AP mode (Re)AssocReq IE processingJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to use correct length field for association request frame and parse the IEs to find WPA/WPS/RSN IE. In addition, copying of the IE better make sure it fits in into the buffer to avoid buffer overflows. In addition, add the (Re)AssocReq IEs to the cfg80211 new station event for user space. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add functionality for starting AP modeJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use cfg80211 add/del_beacon callbacks for starting/stopping AP mode and set_beacon to update AP configuration (mainly, to update Beacon and Probe Response IEs). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add debugfs file entry to dump credit distribution statsVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would be at <dbgfs_root>/ieee80211/phyX/ath6kl/credit_dist_stats. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add debugfs entry to dump target statsVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would be at <debugfs_root>/ieee80211/phyX/ath6kl/tgt_stats. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add initial debugfs changesVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just initial debugfs changes. The debugfs directory would be created at <debugfs_root>/ieee80211/phyX/ath6kl. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Avoid rolling back of entire scatter setup in case of failureVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current tx scatter gather implementation rolls back the entire scatter setup in case of a failure in setting up just one packet into the bundle. Instead of dopping the whole scatter setup, send the packets available just before the failure one using scatter gather I/O. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add wmi meta data information only it is availableVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Remove unused meta_v2 from ath6kl_data_tx()Vasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix system freeze under heavy data loadVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch "ath6kl: Fix buffer alignment for scatter-gather write" does memmove for a length (scat_req->scat_list[i].len) which is not the actual length of data that is suppossed to be moved. The right lengh is packet->act_len + HTC_HDR_LENGTH. Using wrong length for data move during buffer alignment causes system freeze after the following WARN_ON and sometimes target assert. WARNING: at drivers/net/wireless/ath/ath6kl/main.c:771 ath6k_credit_distribute+0x196/0x1a0 [<ffffffffa051cf5f>] ath6kl_htc_rxmsg_pending_handler+0x83f/0xe00 [ath6kl] [<ffffffff8104a743>] ? __wake_up+0x53/0x70 [<ffffffffa0518b18>] ath6kldev_intr_bh_handler+0x188/0x650 [ath6kl] [<ffffffffa052d316>] ath6kl_sdio_irq_handler+0x36/0x80 [ath6kl] [<ffffffff81492b3c>] sdio_irq_thread+0xfc/0x360 [<ffffffff81051c52>] ? default_wake_function+0x12/0x20 [<ffffffff81492a40>] ? sdio_claim_irq+0x220/0x220 [<ffffffff81080c36>] kthread+0x96/0xa0 [<ffffffff815b9fb4>] kernel_thread_helper+0x4/0x10 [<ffffffff81080ba0>] ? kthread_worker_fn+0x190/0x190 [<ffffffff815b9fb0>] ? gs_change+0x13/0x13 Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: implement suspend supportKalle Valo2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now this is implemented so that if host supports power is kept in the chip. If that's not supported, an error is returned and sdio stack will remove the device during suspend. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix buffer alignment for scatter-gather I/OVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For non-scatter buffers, there is already a bounce buffer which takes care of alignment. This patch is influenced by a rough patch of Kalle. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Fix bug in computing AMSU subframe paddingVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes AMSDU rx, otherwise it fails with the following warnings. "802.3 AMSDU frame bound check failed" Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Cleanup ath6kl_wmi_data_hdr_remove()Vasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Minor cleanup in min_hdr_len computationVasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Release ar->lock right afer updating net_stats in ath6kl_rx()Vasanthakumar Thiagarajan2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lock is intended to protect stats there, not neccessary to hold it beyond that. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: fix indentation in htc_issued_send()Kalle Valo2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One line used space to indent. Oddly enough checkpatch didn't complain about this. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Check sme state before delivering disconnect event to cfg80211Raja Mani2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some random cases, the firmware is sending two disconnect event to the host. In the current model, both diconnect events are passed to cfg80211 without checking local sme state machine, which is screwing cfg80211 layer state. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Avoid finding bss presence in cfg80211 scan listRaja Mani2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Connect event handler function is always reporting BSS info to CFG80211 layer first and then followed by connect event is passed. Before these steps, BSS presence is retrieved from CFG80211 layer, but it is not used. Hence, removing that part. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Add beginning of AR6004 initialisation supportKevin Fang2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support isn't complete yet. Signed-off-by: Kevin Fang <kevin.fang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | | * | ath6kl: Use cfg80211_inform_bss instead of cfg80211_inform_bss_frameJouni Malinen2011-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in generating a bogus Beacon frame for cfg80211_inform_bss_frame when cfg80211_inform_bss can be used instead. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| | * | | mac80211: implement uAPSDJohannes Berg2011-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add uAPSD support to mac80211. This is probably not possible with all devices, so advertising it with the cfg80211 flag will be left up to drivers that want it. Due to my previous patches it is now a fairly straight-forward extension. Drivers need to have accurate TX status reporting for the EOSP frame. For drivers that buffer themselves, the provided APIs allow releasing the right number of frames, but then drivers need to set EOSP and more-data themselves. This is documented in more detail in the new code itself. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * | | mac80211: let drivers inform it about per TID buffered framesJohannes Berg2011-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For uAPSD implementation, it is necessary to know on which ACs frames are buffered. mac80211 obviously knows about the frames it has buffered itself, but with aggregation many drivers buffer frames. Thus, mac80211 needs to be informed about this. For now, since we don't have APSD in any form, this will unconditionally set the TIM bit for the station but later with uAPSD only some ACs might cause the TIM bit to be set. ath9k is the only driver using this API and I only modify it in the most basic way, it won't be able to implement uAPSD with this yet. But it can't do that anyway since there's no way to selectively release frames to the peer yet. Since drivers will buffer frames per TID, let them inform mac80211 on a per TID basis, mac80211 will then sort out the AC mapping itself. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * | | iwlagn: iwl-agn-rs: remove unnecessary null check for sta and lq_staGreg Dietsche2011-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | both sta and lq_sta are guaranteed to be not null in the calling function so we don't need to check them here. Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>