summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bcma: read out some additional sprom attributesHauke Mehrtens2012-05-161-0/+76
| | | | | | | | | | This code is copied from the ssb sprom read code. These attributes are partly used by b43 and brcmsmac and should also be read out on bcma based devices. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: fill board_rev attribute from spromHauke Mehrtens2012-05-162-0/+3
| | | | | | | | This attribute is now used in b43 driver and should be filled for all sprom versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb/bcma: fill attribute alpha2 from spromHauke Mehrtens2012-05-163-6/+14
| | | | | | | | | | | | The attribute country_code and alpha2 are two different attributes in the sprom. country_code contains some code in an 8 bit coding and alpha2 contains two chars with the country code. The attributes where read out wrongly in the past and country_code is only available on sprom version 1. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* MIPS: bcm47xx: read baordrev without prefix from spromHauke Mehrtens2012-05-161-0/+2
| | | | | | | | | When the boardrev with a prefix is not available, try to read it without a prefix. This is based on code from the Broadcom SDK. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* bcma: add boardinfo structHauke Mehrtens2012-05-166-3/+29
| | | | | | | | | | This struct contains information about the board, the chip is running on. The struct is filled for PCIe devices and SoCs. This information is used by b43 and will be used by brcmsmac soon. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* MIPS: bcm47xx: refactor fetching board dataHauke Mehrtens2012-05-163-6/+18
| | | | | | | | | Now the fetching of board data also uses nvram_read_u16 and not simple_strtoul any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: remove rev from boardinfoHauke Mehrtens2012-05-168-15/+11
| | | | | | | | | | | | | | Previously the rev contained the revision read from the pci config space and was used as board_rev in the wireless drivers. This is wrong the board_rev is only fetched from the sprom accordingly to the open source part of the Broadcom SDK and brcmsmac. This patch removes the rev from the boardinfo structure and uses the board_rev attribute from sprom instead. This attribute is filled by PCI, PCMCIA, SDIO and SoC code. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'for-linville' of git://github.com/kvalo/ath6klJohn W. Linville2012-05-1613-178/+455
|\
| * ath6kl_sdio: Fix the EAPOL out of order issueVivek Natarajan2012-05-042-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Send the EAPOL and management frames in the same AC_VO queue. The issue happens when the AP supports QOS, the management frames are sent to AC_VO queue and EAP frame goes to AC_BE queue. Even though the EAP frame is queued before the DEAUTH management frame, as they are queued on different h/w queues, order of delivery between these frames cannot be controlled. This fixes the connection failure seen in P2P case. Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Complete failed tx packet in ath6kl_htc_tx_from_queue()Vasanthakumar Thiagarajan2012-04-302-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Return status of ath6kl_htc_tx_issue() is ignored in ath6kl_htc_tx_from_queue(), but failed tx packet is is not cleaned up. To fix memory leak in this case, call completion with error. Also, throw an error debug message when tx fails in ath6kl_sdio_write_async() due to shortage in bus request buffer. kvalo: change the error message to WARN_ON_ONCE() Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Update netstats for some of the tx failrues in ath6kl_data_tx()Vasanthakumar Thiagarajan2012-04-301-8/+4
| | | | | | | | | | | | | | | | There are few cases where the tx skb is dropped but netstats is not updated, fix this. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: assign Tx packet drop threshold per endpoint on htc pipe layerKevin Fang2012-04-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On the htc mbox layer, it will assign each endpoint (AC) with a different Tx-packet-drop threshold, so lower priority AC is more likely to drop packets and the cookies become more available to higher priority AC. On the htc pipe layer, assign the tx packet drop threshold as well, it will let AC to drop packets when cookies below the tx packet drop threshold. Signed-off-by: Kevin Fang <kevin.fang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: handle background(BK) stream properly on htc mbox layerKevin Fang2012-04-271-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a STA sends huge BK QoS data frame first and then sends BE/VI/VO QoS data frame, the corresponding throughput becomes much lower than that without sends BK QoS data frame before. The root cause is that when station send BK stream, the tx credits of BK stream don't return back to higher priority QoS stream such as BE, VI, and VO stream. This patch will handle BK stream properly, when there is higher priority QoS stream, it will seek tx credits from BK stream properly. Signed-off-by: Kevin Fang <kevin.fang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix bss filter setting while scanningVasanthakumar Thiagarajan2012-04-271-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | bss filter is configured to allow the frames from all the bss other than the currenly connected one, this is done when a scan is requested in connected state. There is no reason to filter out the currently connected bss, configure the filter to allow all the bss. This would fix the reporting of stale rssi of the current bss while scanning. Reported-by: Naveen singh <navesing@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Don't advertise HT capability for incapable firmwareVasanthakumar Thiagarajan2012-04-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | With firmwares which do not support rsn capability override (ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE) from host would cause 4-way handshake failure when HT cap is advertised. To fix this, do not advertise HT cap with cfg80211 for those fw. kvalo: fix a checkpatch warning Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Multicast filter support in wow suspend and non-suspendNaveen Gangadharan2012-04-263-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables all multicast packets in non suspend mode and enable multicast filtering in wow suspend mode. This also fixes a bug in multicast where the driver assumed disable multicast-all command disabled/filtered all multicast packets, which was wrong assumption, because firmware will apply the programmed filter. Multicast requirements - Enable forward all multicast packets(no filtering) in non suspend mode. - Enable multicast filtering in wow suspend mode for both AP and CLIENT. kvalo: fix a checkpatch warning and drop unrelated newline removal Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: check for sband existence when creating scan cmdThomas Pedersen2012-04-251-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | The patch "ath6kl: support fw reporting phy capabilities" gave the firmware the ability to disable certain wiphy supported bands. Check if this is the case in ath6kl_wmi_beginscan_cmd to avoid dereferencing a NULL pointer. kvalo: change the patch so that there's no code between declarations Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: include in.h explicitlyLuis R. Rodriguez2012-04-251-0/+1
| | | | | | | | | | | | | | Do not assume anyone before us includes it for us. Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: unblock fwlog_block_read() on exitThomas Pedersen2012-04-231-0/+1
| | | | | | | | | | | | | | | | Complete the waiting fwlog_block_read on debugfs cleanup, otherwise userspace and module unload might softlock. Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix an indenting issueDan Carpenter2012-04-231-10/+11
| | | | | | | | | | | | | | This is supposed to be pushed in one indent level. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: change || to &&Dan Carpenter2012-04-231-2/+2
| | | | | | | | | | | | | | | | | | | | The original conditions are always true. I think && was intended here, but I don't have the hardware to test. Could you take a look? kvalo: Chilam confirmed that the fix is valid Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: disallow WoW with multiple vifsThomas Pedersen2012-04-231-0/+8
| | | | | | | | | | | | | | | | The ath6kl fw does not have enough memory to support the WoW filters of more than one vif. Disallow WoW suspend if this is the case. Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: only restore supported HT capsThomas Pedersen2012-04-231-7/+19
| | | | | | | | | | | | | | | | Now that we know the supported PHY capabilities, only restore supported bands / HT capabilities in firmware when stopping AP. Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: support fw reporting phy capabilitiesThomas Pedersen2012-04-235-5/+51
| | | | | | | | | | | | | | | | | | | | Currently the supported bands are just hard coded in the driver. However, the ath6kl FW will include its 11n and band capabilites in a WMI_READY event. Handle this and report capabilites to cfg80211 accordingly. Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl clear the MMC_PM_KEEP_POWER for cutpower caseMing Jiang2012-04-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | ath6kl: If wow deepsleep pno suspend failure driver will choose cutpower. in this scenario MMC_PM_KEEP_POWER should be cleared so that mmc will power off the ar6000 kvalo: remove extra parenthesis Signed-off-by: Ming Jiang <mjiang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Configure probed SSID list consistentlyJouni Malinen2012-04-181-28/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set max_scan_ssids and max_sched_scan_ssids to same value. These use the same probed SSID list, so there is no point in using different maximum number of SSIDs. Clear probed SSID entries that are not used. This was already done for sched_scan, but not for scan. Be consistent and clear the table for both cases to avoid leaving bogus entries. In addition, share the same function for setting the probed SSIDs for scan and sched_scan paths. This fixes setting of wildcard SSID flag (ANY_SSID_FLAG) and changes the scan path to use probed SSID index consistently (i.e., start with 0 similarly to sched_scan; firmware will handle the needed internal mapping). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Remove incorrect Probe Response offload support for InterworkingJouni Malinen2012-04-181-2/+1
| | | | | | | | | | | | | | | | ath6kl does not support Probe Response offloading for Interworking (IEEE 802.11u), so remove the incorrectly added capability flag for it. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix bug in bg scan configuration in schedule scanSubramania Sharma Thandaveswaran2012-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | Background scan interval should not be modified while starting schedule scanning as it changes the bg scan interval when connected to AP. Use the currently configured interval instead. kvalo: improve commit log Signed-off-by: Subramania Sharma <sharmat@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Retain bg scan period value modified by the userRaja Mani2012-04-183-0/+9
| | | | | | | | | | | | | | | | | | | | Added a new member bg_scan_period in struct ath6kl_vif to retain background scan period value configured via debugfs entry 'bgscan_interval'. This backup is needed in schedule scan path while configuring scan parameters. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: list_first_entry() is never NULLDan Carpenter2012-04-161-8/+0
| | | | | | | | | | | | | | | | | | | | We can remove the NULL check here. It triggers a Smatch warning because list_first_entry() never is NULL and people who check for it normally intend to check for list_empty() instead. In these cases however, we've already verified that the lists are not empty. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Normalize use of FW_DIRTim Gardner2012-04-161-10/+10
| | | | | | | | | | | | | | | | | | | | | | kvalo: do the same changes for ar6004 hw1.2 as well Cc: Kalle Valo <kvalo@qca.qualcomm.com> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: allow deepsleep_suspend function when wlan interface downMing Jiang2012-04-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Aafter wlan interface is down WLAN_ENABLED flags will be cleared and deepsleep_suspend function will be blocked in this senario. This patch allows deepsleep_suspend function when wlan interface down by removed the WLAN_ENABLED flag checking. kvalo: fix commit log Signed-off-by: Ming Jiang <mjiang@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix system crash sometimes for USB hotplugRay Chen2012-04-161-0/+9
| | | | | | | | | | | | | | | | System crash because of NULL pointer reference due to cleanup_scatter is not implemented for USB. Signed-off-by: Ray Chen <raychen@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: merge split format strings into oneKalle Valo2012-04-165-62/+64
| | | | | | | | | | | | | | | | Found by checkpatch: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: fix memory leak in ath6kl_fwlog_block_read()Jesper Juhl2012-04-131-1/+3
| | | | | | | | | | | | | | | | | | | | | | If, in drivers/net/wireless/ath/ath6kl/debug.c::ath6kl_fwlog_block_read(), the call to wait_for_completion_interruptible() returns -ERESTARTSYS then we'll return without freeing the (as yet unused) memory we allocated for 'buf' - thus leaking it. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Add AR6004 1.2 support for USB and SDIORay Chen2012-04-124-0/+32
| | | | | | | | | | | | | | Add the necessary change for AR6004 1.2 chip support Signed-off-by: Ray Chen <raychen@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Configure 0 as rsn cap when it is not there in rsn ieVasanthakumar Thiagarajan2012-04-121-7/+13
| | | | | | | | | | | | | | | | | | Currently rsn capability is not set when it is not available in rsn IE. Set it to 0 in firmware when it is not there in the ie to make sure host and target are consistent. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: Fix possible unaligned memory access in ath6kl_get_rsn_capab()Vasanthakumar Thiagarajan2012-04-121-2/+2
| | | | | | | | | | | | | | | | | | alignment is not taken care in accessing pairwise cipher and AKM suite count which are parsed from rsn ie. Fix this alignment issue. Reported-by: Joe Perches <joe@perches.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * ath6kl: handle concurrent AP-STA channel switchesThomas Pedersen2012-04-125-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | If an ath6kl AP vif is beaconing on one channel, and a STA vif associates on a different channel, a WMI_DISCONNECT event will be sent to the AP vif. Make the AP vif follow the STA interface, and notify userspace. kvalo: fix a sparse warning with vif->next_chan Signed-off-by: Thomas Pedersen <c_tpeder@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * Merge remote branch 'wireless-next/master' into ath6kl-nextKalle Valo2012-04-128045-274867/+389234
| |\
* | | wlcore/wl12xx: implement better beacon loss handlingBartosz.Markowski@tieto.com2012-05-154-17/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of REGAINED_BSS_EVENT and instead of reporting connection loss immediately on each BEACON_LOSE event, try if not regained in reasonable period of time. Signed-off-by: bartosz.markowski <bartosz.markowski@tieto.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: fix size of two memset's in wl1271_cmd_build_arp_rsp()Jesper Juhl2012-05-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently do this: int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif) ... struct wl12xx_arp_rsp_template *tmpl; struct ieee80211_hdr_3addr *hdr; ... tmpl = (struct wl12xx_arp_rsp_template *)skb_put(skb, sizeof(*tmpl)); memset(tmpl, 0, sizeof(tmpl)); ... hdr = (struct ieee80211_hdr_3addr *)skb_push(skb, sizeof(*hdr)); memset(hdr, 0, sizeof(hdr)); ... I believe we want to set the entire structures to 0 with those memset() calls, not just zero the initial part of them (size of the pointer bytes). Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wireless: TI wlxxx depends on MAC80211Randy Dunlap2012-05-152-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wl12xx build fails with many undefined symbol errors when MAC80211 and CFG80211 are not enabled, so make WLCORE and WL12XX depend on MAC80211 (which already depends on CFG80211). Here are a few of the many build errors: drivers/built-in.o: In function `wl1271_register_hw': main.c:(.text+0x4197cd): undefined reference to `ieee80211_register_hw' drivers/built-in.o: In function `wl1271_rx_streaming_timer': main.c:(.text+0x419818): undefined reference to `ieee80211_queue_work' drivers/built-in.o: In function `wl1271_flush_deferred_work': main.c:(.text+0x419910): undefined reference to `ieee80211_rx' main.c:(.text+0x419938): undefined reference to `ieee80211_tx_status' drivers/built-in.o: In function `wl12xx_op_channel_switch': main.c:(.text+0x419afc): undefined reference to `ieee80211_chswitch_done' drivers/built-in.o: In function `wl1271_ssid_set': drivers/built-in.o: In function `wl1271_event_process': event.c:(.text+0x41fec4): undefined reference to `ieee80211_sched_scan_stopped' event.c:(.text+0x41ff88): undefined reference to `ieee80211_cqm_rssi_notify' event.c:(.text+0x42000d): undefined reference to `ieee80211_stop_rx_ba_session' event.c:(.text+0x420048): undefined reference to `ieee80211_stop_rx_ba_session' event.c:(.text+0x4200b8): undefined reference to `ieee80211_chswitch_done' event.c:(.text+0x4201ae): undefined reference to `ieee80211_find_sta' event.c:(.text+0x4201ba): undefined reference to `ieee80211_report_low_ack' event.c:(.text+0x42021b): undefined reference to `ieee80211_connection_loss' drivers/built-in.o: In function `wl1271_tx_complete_packet': tx.c:(.text+0x4206a6): undefined reference to `ieee80211_get_hdrlen_from_skb' drivers/built-in.o: In function `wl1271_tx_fill_hdr': tx.c:(.text+0x4208ca): undefined reference to `ieee80211_hdrlen' drivers/built-in.o: In function `wl1271_handle_tx_low_watermark': (.text+0x420e25): undefined reference to `ieee80211_wake_queue' drivers/built-in.o: In function `wl12xx_rearm_rx_streaming': (.text+0x420ed9): undefined reference to `ieee80211_queue_work' drivers/built-in.o: In function `wl1271_tx_work_locked': (.text+0x421008): undefined reference to `ieee80211_free_txskb' drivers/built-in.o: In function `wl1271_rx_status.clone.2': rx.c:(.text+0x421593): undefined reference to `ieee80211_channel_to_frequency' drivers/built-in.o: In function `wl1271_ps_filter_frames': ps.c:(.text+0x421a41): undefined reference to `ieee80211_tx_status' Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Luciano Coelho <coelho@ti.com> Cc: linux-wireless@vger.kernel.org Cc: "John W. Linville" <linville@tuxdriver.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: fixup an allocationDan Carpenter2012-05-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | GFP_DMA isn't supposed to be used by itself. This allocation is allowed to sleep so it should be ORing it with GFP_KERNEL. Also we should check for allocations errors. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: release lock on error in wl1271_op_suspend()Dan Carpenter2012-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | We should release this lock before returning. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wl12xx: support wowlan wakeup patternsEyal Shapira2012-05-152-7/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use FW RX data filters to support cfg80211 wowlan wakeup patterns. This enables to wake up the host from suspend following detection of certain configurable patterns within an incoming packet. Up to 5 patterns are supported. Once the host is resumed any configured RX data filter is cleared. A single pattern can match several bytes sequences with different offsets within a packet. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: add RX filters driver state mgmt functionsEyal Shapira2012-05-153-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | More prep work to support wowlan wakeup patterns. Added some wrappers that also keep the current filters state updated in the driver. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wl12xx: add RX filters ACX commandsEyal Shapira2012-05-153-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | More prep work for wowlan patterns. Added ACXs to set global RX filter behavior and enable or disable a specific filter. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: add RX filters util functionsEyal Shapira2012-05-152-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is prep work for the support of wowlan patterns using the FW data rx filters mechanism. Added an rx filter struct and some util functions required to manipulate it. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
* | | wlcore: use GFP_KERNEL together with GFP_DMALuciano Coelho2012-05-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | GFP_DMA should not be used by itself, it still needs GFP_KERNEL or such. Fix two occurrences of allocations with GFP_DMA only. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Luciano Coelho <coelho@ti.com>