summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-10-13cw1200: Enable Block ACK Policy.Marek Puzyniak
Block ACK Policy was not enabled after unjoin in cw1200 driver. ST-Ericsson ID: 358471 ST-Ericsson FOSS-OUT ID: NA Signed-of-by: Marek Puzyniak <marek.puzyniak@tieto.com> Change-Id: Idcf5b2b6e582c15f33ea5e9ef1e03af9f6aefe4b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31376 Reviewed-by: Marek PUZYNIAK <marek.puzyniak@tieto.com> Tested-by: Marek PUZYNIAK <marek.puzyniak@tieto.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33524 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com> Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com>
2011-10-13cw1200: Remove confusing warningsBartosz Markowski
When bus error occurs, there is an existing recovery from this situation. These traces are confusining only and do not have any other impact. ST-Ericsson ID: 355083 Change-Id: I710bc79cdfe7d787994cfd1842ba1293756f968e Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31468 Reviewed-by: QABUILD Reviewed-by: QATEST Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33523 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Enable quiescent mode.Dmitry Tarnyagin
Device is consuming 8 mA in doze mode and 0.16 - 1.07 mA in quiescent. ST-Ericsson ID: 359619 Change-Id: Ifeafdca18441586bbd65cc0886b088dc83c6dd87 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31449 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33522 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Re-enable U-APSD support in driverJanusz Dziedzic
Configuration is now done in upper layers. ST-Ericsson ID: 355584 Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Change-Id: I96eff15907ea881e33446fef74a7acdd2b02655d Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29979 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: QATEST Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33521 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Don't allow scan when in MiniAP modeJanusz Dziedzic
We should not allow scan (p2p_find) when firmware works in AP mode. ST-Ericsson ID: 359597 Change-Id: I2c48405a765ed5d5f569d02ea748865c1641b61f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29981 Reviewed-by: QABUILD Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33520 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Check p2p flag for wsm join and start.Dmitry Tarnyagin
We should check p2p flag setiing in the vif. p2p flag is used as a hint in WSM join and start requests and should be set for P2P GO and CLIENT. ST-Ericsson ID: 359041 Change-Id: I562616674d8e3b354e3c8c59f300516c3318a970 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29784 Reviewed-by: QABUILD Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: QATEST Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33519 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: PM state in AP mode could be out of sync.Dmitry Tarnyagin
PM state is controlled separately by firmware and driver. Firmware does not update own PM state when STA is removed, so PM state of the driver and firmware could be out of sync. The patch implements resyncronization of the PM state. ST-Ericsson ID: 354923 Change-Id: Ie2d8f54bc9d6dc1578aead31eecdb04c9ce7505e Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29404 Reviewed-by: QABUILD Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33518 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Force unjoin on scan if association is not completed.Dmitry Tarnyagin
Firmware behaves strange if scan request is sent when device is joined but association is not completed. Patch detects this condition and forces unjoin request to the device. ST-Ericsson ID: 356953 Change-Id: I9df66365d46e2d9b65990dfc54ad22604e3a3daa Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29403 Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: QATEST Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33517 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix release callback for PM deviceBartosz Markowski
Release callback was missing in CW1200 PM device. Also fixed register_platfor_device which chan not be done more than once. PM device is allocating dyncmicly now. ST-Ericsson ID: 358127 Change-Id: I3a7a7a8e72433380d00c7e2781db44e2f3abdca1 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29386 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33516 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Disable U-APSD supportBartosz Markowski
Temporary disabling U-APSD. It has negative impact on performance. Change-Id: Ie71fc42c5dcf290ec0714ee35340bfa86ba62945 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29351 Reviewed-by: QATEST Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Tested-by: Tobias ANDERSON <tobias.xx.andersson@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33515 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix: .remove callback for cw1200_power_driverDmitry Tarnyagin
Dedicated platform driver is used for detection of late interrupts. Implementation of the driver was missing .remove callback. It was not possible to remove cw1200 driver without this callback. ST-Ericsson ID: 355220 Change-Id: Ia8b5a88fcbb3ec86973016fff5dad98dc9ac78f1 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29196 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33514 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix incorrect usage of wait_event_interruptible_timeout.Dmitry Tarnyagin
In many places in the driver wait_event_interruptible_timeout was wrongly used instead of wait_event_timeout. It caused several problems when upper layer received signals. A typical one was: [ 4553.767944] [BH] wakeup. [ 4553.768035] kernel BUG at drivers/staging/cw1200/wsm.c:1069! [ 4553.768066] Unable to handle kernel NULL pointer dereference at virtual address 00000000 ... [ 4553.770507] [<c003d550>] (__bug+0x1c/0x28) from [<bf0d8780>] (wsm_cmd_send+0x270/0x2cc [cw1200_core]) [ 4553.770538] [<bf0d8780>] (wsm_cmd_send+0x270/0x2cc [cw1200_core]) from [<bf0d9a5c>] (wsm_remove_key+0xf0/0x114 [cw1200_core]) ... [ 4553.771972] [<c03cb964>] (sock_sendmsg+0xa0/0xbc) from [<c03cbee8>] (sys_sendmsg+0x1b0/0x20c) [ 4553.772003] [<c03cbee8>] (sys_sendmsg+0x1b0/0x20c) from [<c0039680>] (ret_fast_syscall+0x0/0x30) Change-Id: Ie0c2ded7348379a324f1f23fae4416014c272530 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29164 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33513 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for a BUG in cw1200_unjoin_work.Dmitry Tarnyagin
Dump was seen twice: deauthentication between scan-req and scan-res. D/wpa_supplicant( 2443): nl80211: Event message available D/wpa_supplicant( 2443): nl80211: New scan results available [ 549.251159] wlan0: deauthenticated from 00:0c:e3:6b:8e:cd (Reason: 7) D/wpa_supplicant( 2443): nl80211: Associated on 2422 MHz D/wpa_supplicant( 2443): Received scan results (38 BSSes) D/wpa_supplicant( 2443): nl80211: Scan results indicate BSS status with 00:0c:e3:6b:8e:cd as associated [ 549.277404] ieee80211 phy0: cw1200_unjoin_work: Unexpected: delayed unjoin is already scheduled. V/WifiMonitor( 1779): Even... [ 549.291015] kernel BUG at drivers/staging/cw1200/sta.c:1139! Fix removes BUG_ON which was added for verification-only purposes and handles multiple DEAUTH during scan correctly. ST-Ericsson ID: 355770 Change-Id: I671fe949555f3e31a634ee27ea237da2aeb1c83e Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29087 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33512 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: do not allow suspend when it is useless.Dmitry Tarnyagin
Do not allow entering suspend state if firmware is polling for multicasts and when scanning. + bugfix: remove blocking calls from wow_suspend() callback to reduce suspend time and make sure watchdog is not triggered. Change-Id: I69196fda25b56d01b90311582705ba586759ae35 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29079 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33511 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for firmware crash/hang in SoftAP with powersave.Dmitry Tarnyagin
* Firmware does not support block ACK in SoftAP mode and crashes when BA-enabled settings are applied. Fix completly disables BA when firmware is in SoftAP mode. * Proper register is used for firmware assert line number diagnostic message. * wsm_update_ie is implemented (cosmetical change). Change-Id: I93bff4e59a1a6ab35f537097a46199cb8a1c34fa Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29064 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: QATEST Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33510 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Add changes for UAPSDAmit
* Added OID configuration for UAPSD configuration and related data structure updates * Added code to disable FastPS at FW in driver when UAPSD is enabled. * Restructured the code Change-Id: Ia64533960698646494268599c7f8f9aea57e4d88 Signed-off-by: Amit Shakya <amit.shakya@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29063 Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33509 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Print firmware exception information.Dmitry Tarnyagin
WSM firmware reports exception information in exception indication message. Code added for printing this informarion in human-readable format. Change-Id: I1bbd208521166021fd7d38229b8dbeff8490d244 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28957 Reviewed-by: Ajit Pal SINGH <ajitpal.singh@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29062 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33508 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Cancel suspend on late interrupts.Dmitry Tarnyagin
* Code added to detect late (after suspend) interrupts and cancel suspend in that case. Applicable only for GPIO IRQs. Similar modification is required in the MMC/SDIO driver to handle late SDIO IRQs properly. * Code added to hold wakelock for 1 sec. when frame is sent from the driver up to userspace. Change-Id: Ia739c243164a6d35602dc9f634d3990214560eb9 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28850 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29061 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33507 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: PSPOLL is supported.Dmitry Tarnyagin
Handling of PSPOLL frames in SoftAP mode was missing until now. This commit implements PSPOLL support. Change-Id: I9b18554ee8fca296793af4db168c458276d45f82 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28849 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29060 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33506 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Syncing join status by wsm_tx_lock().Dmitry Tarnyagin
All operations changing join_status should be executed with wsm_tx_lock() held. Change-Id: Iadea249b080f1d7c090868c527ff78eecb53a26a Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28595 Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28697 Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33505 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Purge cfg80211 beacon cache before authentication.Dmitry Tarnyagin
cw1200 device requires SSID to be available at AUTH stage. cfg80211 beacon cache is designed to handle multi-SSID BSSes, so bss struct returned by cfg80211_get_bss() has random SSID if BSS just changed SSID before authentication (typical for p2p). This is a firmware design fault, however as a workaround cfg80211 beacon cache is purged to make sure target BSS is searchable in rb-tree at the AUTH stage. Likely will not be accepted by community. Change-Id: I38d071e0d32bf414906170a19134718b0e834cce Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28558 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28696 Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33504 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Allow TXing in monitor modeDmitry Tarnyagin
Forced-join firmware mode, previously used for offchannel TXing, has number of limitations and does not work well. The patch re-implements offchannel TXing in monitor aka p2p-dev mode. Change-Id: Id5327792ab78f8515ece575639b02ddb70d4a73f Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28492 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28695 Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33503 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Missing interrupt detection.Dmitry Tarnyagin
Missing interrupt (or slow response?) was observed on wsm_reset() call. Indication: [ 106.596252] ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 108.681884] WARNING: at kernel/net/compat-wireless/drivers/staging/cw1200/ap.c:654 cw1200_bss_info_changed+0x2dc/0x9f8 [cw1200_core]() ... [ 108.931396] WARNING: at kernel/net/compat-wireless/drivers/staging/cw1200/wsm.c:1141 wsm_handle_rx+0x9bc/0x9f4 [cw1200_core]() ... [ 109.021667] WARNING: at kernel/net/compat-wireless/drivers/staging/cw1200/bh.c:411 cw1200_bh+0x718/0x95c [cw1200_core]() [ 109.095275] [BH] Fatal error, exitting. The patch implements missing interrupt detection and also increases timeout for the wsm_reset() call. Change-Id: I3fb9ad92ab62bc1be831c835fd16a7c600793bb6 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28336 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33502 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Do join if upper layer is trying to TX in monitor mode.Dmitry Tarnyagin
Change-Id: Idf79762b48f37fc6ac315ef1cecdf3a28c2e38f4 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28326 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33501 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: P2P power save supportJanusz Dziedzic
P2P power save support: - Opportunistic Power Save - Notice Of Absence Change-Id: I5523c852632598d9c80acc390c920ccfb42eaefd Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28267 Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33500 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Allow proberesponse frame to be txedAjitpal.Singh
Added change for allowing probe response frame to be txe'ed Probe Resp frames are generated by the supplicant during p2p find process. Change-Id: If36fb07d3aabf38870e32f4c7ce21a317551badb Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28272 Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33499 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for driver hang at join timeout (scan in progress)Dmitry Tarnyagin
Join timout might interfere with scan activity. Firmware hangs if unjoin (reset) request is triggered when scan is in progress. The patchs delays unjoin request up to completion of the scan. Change-Id: I17fa573ee52aab843e69e4344ae5b66e94b5b4db Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28298 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33498 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for a crash in cw1200_join_work.Dmitry Tarnyagin
[ 129.340148] Unable to handle kernel NULL pointer dereference at virtual address 00000018 [ 129.348266] pgd = c0004000 [ 129.350982] [00000018] *pgd=00000000 [ 129.354553] Internal error: Oops: 17 [#1] PREEMPT SMP [ 129.359619] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state [ 129.367431] Modules linked in: cw1200_wlan cw1200_core [ 129.372589] CPU: 1 Not tainted (2.6.35.7+ #111) [ 129.377502] PC is at cw1200_join_work+0x148/0x3c8 [cw1200_core] [ 129.383422] LR is at mutex_lock+0x18/0x4c Change-Id: I62b013780fa66592d49938c6d7d86229450105a1 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28283 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33497 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Minor fixes.Dmitry Tarnyagin
* Driver unloading without prior "ifconfig wlan0 down" caused warnings in cw1200_remove_interface() and cw1200_setup_mac(). * Entering SoftAP mode caused a warning in cw1200_set_tim_impl(). * Scan request failed with timeout if current BSS was out of range. * wsm_set_pm is failing if scanned BSS is out of range, and it is not a fault. * Some state wariables were not reset to initial state in cw1200_stop(). ST-Ericsson ID: ER354873 ST-Ericsson ID: ER354919 Change-Id: I7f12748c0570de5c6f25aa8bf83b6012b44d87de Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28232 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33496 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Remove some spam from logging.Dmitry Tarnyagin
FW sends "start multicast" request on every DTIM. It's interesting to see in log only if buffered multicasts are waiting for delivery. Change-Id: I5faefbdd18710e38fab4087e2676c1e245210cee Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28258 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33495 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Removing obsolete code which blocked power management by default.Dmitry Tarnyagin
Legacy code from p54 driver was left by mistake in the main configuration, causing power save to be disabled by default. Change-Id: I6428a8a041e34c02cedd54652d54162aa9233f1c Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28210 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33494 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Workaround against cyclic requeue of multicast frames.Dmitry Tarnyagin
WSM324 firmware has tendency to requeue multicast frames in a loop, causing performance drop and high power consumption of the driver. The workaround blocks attempts to requeue multicasts frames. Workaround has to be modified for further WSM firmware releases where this issue is suppose to be fixed with respect to backward compatibility. Change-Id: I27b66d9acc48b8058efd524a72e6f69c816393cc Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28209 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33493 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for buffered multicasts in AP-PS mode: bugfix.Dmitry Tarnyagin
Bugfix of Change-Id I15b134bf847913a907f00293ae99d7a71bbc7343. + Locking semantic is simplified. + Overcomplicated check of aid0_bit_timestamp removed: FW is doing it. + wsm_get_tx_queue_and_mask() mistakely ignored suspend_multicast. Change-Id: I0152fefd167dbb8a6fdc8dd8f5582b10fb645006 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28152 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33492 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Support for limited wowlan functionalitiesBartosz Markowski
* Enables wowlan ANY support for wiphy structure * Set no off patterns support to 0 Change-Id: I56f58078850d13a3e178a021506cd1b64e9f3d35 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28169 Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33491 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Support for non-Greenfield STA protectionAjitpal.Singh
+Support for non-Greenfield enabled STA protection when our STA is operating in Greenfield mode Change-Id: Id356467812713a7869ed81f3daf0993dcb768593 Signed-off-by: Ajitpal.Singh <ajitpal.singh@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27806 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33490 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Off-channel sending of action frames is implemented.Dmitry Tarnyagin
Action frames sending is required for P2P group negotiation. Due to firmware limitation TXing is possible only when device is "joined" (logically linked) to the AP. Join with "force" flag is used for sending action frames. Change-Id: Ic52b181f4b22d527dda27d0185b1ecc4ba488efe Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27775 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33489 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for buffered multicasts in AP-PS mode.Dmitry Tarnyagin
Refactoring of multicast handling: * When multicast is coming, driver sets aid0 bit in TIM IE and puts multicas in the queue with "AFTER_DTIM" link id. * When WSM indicates DTIM beacon, driver verifies if aid0 indicating beacon was sent and sends buffered multicasts. * Driver clears aid0 bit in the TIM IE when no more multicasts are available. + A stilistic change: 1 << shift is replaced by BIT(shift) Change-Id: I15b134bf847913a907f00293ae99d7a71bbc7343 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27306 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33488 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Cancel connection and beacon loss worksBartosz Markowski
Canceling connection and beacon loss works after configuring new values for beacon and tx failure threshold. In case of re-association it will prevent extra connection loss event successfull roaming. Change-Id: I4707386ba9ea3791269655a38f9f0422e6568d2f Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27641 Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33487 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: ARP ipv4 filteringJanusz Dziedzic
Implementation of ARP ipv4 filtering. Currently firmware support only one IP address. In case of multiple IP addresses (aliases) ARP filtering will be disabled. Change-Id: I787c756fdc131523f68717b86a9d24daf185dd44 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27319 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33486 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Fix for firmware exception on requeued TXed frames.Dmitry Tarnyagin
TX sequence number was not cleared properly in requeued frames. Firmware checked it and triggered exception. Fix clears TX sequence part of id field before applying (or-ing) a new sequence number. Also handling of TX confirmation frames with "requeue" status was slightly changed with respect to PS flow control (suspend/resume link). Note that multicast TX-ing in SoftAP mode still be completly broken, to be fixed later. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: I4eacfa3e6cf8dc6e63e161489977228d8016c8d8 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27305 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33485 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Wakeup on wireless (WoW) is implemented.Dmitry Tarnyagin
+ Core and SDIO power management is implemented as defined in wireless-next v3.0-rc4. + SDD is cached to avoid disk access at suspend/resume time. TODO: - WoW conditions and filtering are not yet implemented. - BUG: Late interrupts (coming after suspend() callback but before the actual suspend) are not detected as wakeup sources. Universal (Android/GLK) way of waking up halfly-suspended system to be found. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: Ib4931a261e592f2927455e988055cd673250ec81 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27297 Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33484 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Removed obsolete code (software keepalive).Dmitry Tarnyagin
Earlier WSM firmware has not supported keepalive. Software workaround was implemented to keep connection. This commit removes this code as obsolete. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Chnage-Id: Ib00260c8cc05c4e7170d8cc6a071415fc87b8f03 Change-Id: I32c3b7f89e97a262592151a582235c4401de594c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27285 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33483 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-13cw1200: Multicast filtering support.Janusz Dziedzic
Change-Id: Iccec781533e5ac017ee0ed04741fc224a899f9d9 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27175 Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33482 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: Driver should not report MCS rates to mac80211.Dmitry Tarnyagin
Driver should not provide MCS rates to mac80211 stack in ieee80211_supported_band.bitrates table. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: I2f5287c4059f51ba7827607ac72fb2a93e4c05b8 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27148 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33481 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: Aligning mac80211 API with compat-wireless-3.0-rc4-1Dmitry Tarnyagin
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: I8bf50cd2f97dcb5677b2db8efc89757d74eb3f55 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27073 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33480 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: Syncing WSM API usage with firmware team.Dmitry Tarnyagin
* WSM is not officially supporting link ID mapping in STA mode. * Foregroung scan is not officially supported when joined. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: I4a72884ae2d0202f1d57ff724c7323df2177441a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27072 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33479 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: Dynamic power save is offloaded to the firmware.Dmitry Tarnyagin
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Change-Id: Iff214651c82fe1f7203f3ce016e7646e41cccc35 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27071 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33478 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: Document and optimize device reset sequence.Dmitry Tarnyagin
Some devices have problems with reset if WRESET is active (low) when device is being powered on. Additional WRESET cycle is required for these devices. Change-Id: I117c1776e3819260ec7f4aa4e0d14174eb3f7e82 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25624 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com> Reviewed-by: Robert MARKLUND <robert.marklund@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27063 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33477
2011-10-12cw1200: Remove unnecessary delays in cw1200_sdio_on.Dmitry Tarnyagin
According to specification: "A valid reset shall be obtained by maintaining WRESETN active (low) for at least two cycles of LP_CLK after VDDIO is stable within it operating range." 2 cycles at of 32KHz is lesser than 1 ms. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25976 Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Change-Id: I01871023276a4d7c3d0938dff6ca7957b75464ae Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26978 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33475 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
2011-10-12cw1200: enabling WAPI supportJanusz Dziedzic
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24585 Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Change-Id: I3eb462095c57d9462f07422c7cdd133189b0ab75 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26977 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33474