#
fc58f681 |
| 16-Jun-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: fix disconnect handling for AP
For the AP-like interface, if "disconnect all" requested, every station should be deleted with cfg80211_del_sta(). Implement this behavior.
Signed-off-by: Vl
wil6210: fix disconnect handling for AP
For the AP-like interface, if "disconnect all" requested, every station should be deleted with cfg80211_del_sta(). Implement this behavior.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
2a91d7d0 |
| 16-Jun-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: debug print when scan request state changes
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
Revision tags: v3.16-rc1, v3.15, v3.15-rc8 |
|
#
047e5d74 |
| 27-May-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: detect scan timeouts
If scan has not finished in some reasonable time (10sec), interpret it as if firmware error occurs but was not reported. Firmware should report scan completion for ever
wil6210: detect scan timeouts
If scan has not finished in some reasonable time (10sec), interpret it as if firmware error occurs but was not reported. Firmware should report scan completion for every scan request, so it is error condition indeed. Perform firmware recovery procedure.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
fc219eed |
| 27-May-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: limit fw error recovery attempts
In case there is something fundamentally wrong with the firmware (example: RF cable disconnected), FW will always crash immediately after reset. This leads
wil6210: limit fw error recovery attempts
In case there is something fundamentally wrong with the firmware (example: RF cable disconnected), FW will always crash immediately after reset. This leads to infinite fw error recovery loop.
Count consecutive unsuccessful error recovery attempts in a short period of time, and stop doing recovery after some reasonable count. It is still possible to manually reset fw doing interface down/up sequence.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
Revision tags: v3.15-rc7, v3.15-rc6 |
|
#
3b3a0162 |
| 19-May-2014 |
Johannes Berg <johannes.berg@intel.com> |
cfg80211: constify MAC addresses in cfg80211 ops
This propagates through all the drivers and mac80211.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
Revision tags: v3.15-rc5, v3.15-rc4, v3.15-rc3, v3.15-rc2, v3.15-rc1 |
|
#
15e23124 |
| 08-Apr-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: fix printouts for better readability
Reshuffle prints to consolidate firmware/hardware information report upon card init
Convert print for unhandled MISC ISR bits to "debug" - it is normal
wil6210: fix printouts for better readability
Reshuffle prints to consolidate firmware/hardware information report upon card init
Convert print for unhandled MISC ISR bits to "debug" - it is normal situation and not an "error"
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
Revision tags: v3.14, v3.14-rc8 |
|
#
097638a0 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: fix race between disconnect and Tx NAPI
When disconnecting some CID, corresponded Tx vring get released. During vring release, all descriptors get freed. It is possible that Tx NAPI working
wil6210: fix race between disconnect and Tx NAPI
When disconnecting some CID, corresponded Tx vring get released. During vring release, all descriptors get freed. It is possible that Tx NAPI working on the same vring simultaneously. If it happens, descriptor may be double freed.
To protect from the race above, make sure NAPI won't process the same vring. Introduce 'enabled' flag in the struct vring_tx_data. Proceed with Tx NAPI only if 'enabled' flag set. Prior to Tx vring release, clear this flag and make sure NAPI get synchronized.
NAPI enablement status protected by wil->mutex, add protection where it was missing and check for it.
During reset, disconnect all peers first, then proceed with the Rx vring. It allows for the disconnect flow to observe proper 'wil->status' and correctly notify cfg80211 about connection status change
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
260e6951 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: add memory barriers for the reset flow
make sure reset flow executed in order
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@t
wil6210: add memory barriers for the reset flow
make sure reset flow executed in order
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
d28bcc30 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: target reset flow update
Use 'real' indication for hardware state.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.co
wil6210: target reset flow update
Use 'real' indication for hardware state.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
9c3bde56 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: serialize fw_recovery and start_ap
These methods can change device state, serialize with others similar ones like up/down
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
wil6210: serialize fw_recovery and start_ap
These methods can change device state, serialize with others similar ones like up/down
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
ed6f9dc6 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: fw error recovery
upon fw error interrupt - in STA mode, disconnect/cancel scan and then reset FW/HW added module param - no_fw_recovery which is false by default
Signed-off-by: Vladimir K
wil6210: fw error recovery
upon fw error interrupt - in STA mode, disconnect/cancel scan and then reset FW/HW added module param - no_fw_recovery which is false by default
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
0fef1818 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: Fix kernel oops in reset flow
wil_reset() removes vring's At the same time NAPI may be active performing Rx/Tx completion. If this happens, Rx/Tx polling functions going to access already r
wil6210: Fix kernel oops in reset flow
wil_reset() removes vring's At the same time NAPI may be active performing Rx/Tx completion. If this happens, Rx/Tx polling functions going to access already removed vrings
Make sure NAPI is idle and won't be started prior to vring removal. For this, track NAPI enabled state
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
8bf6adb9 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: fix memory leak in the AP flow
When switching between STA and AP modes, memory allocated for Rx vring leaks This is because start_ap() allocates Rx vring but stop_ap() do not free it. Logic
wil6210: fix memory leak in the AP flow
When switching between STA and AP modes, memory allocated for Rx vring leaks This is because start_ap() allocates Rx vring but stop_ap() do not free it. Logically, Rx vring is not valid (HW can't use it anymore), so free it in reset() Also, check double init for Rx vring and bail out with -EINVAL
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
972072aa |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: reset on power good
Configure hardware to perform full reset on "power good". This mean, reset HW on system boot. This improves card stability. By default this is off.
Signed-off-by: Vladi
wil6210: reset on power good
Configure hardware to perform full reset on "power good". This mean, reset HW on system boot. This improves card stability. By default this is off.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
17123991 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: sort HW registers definitions
Put all registers in order for easier navigation; fix naming to reflect hardware cluster
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Si
wil6210: sort HW registers definitions
Put all registers in order for easier navigation; fix naming to reflect hardware cluster
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
98a65b59 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: report reset time
Useful to detect hardware problems
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
36b10a72 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: update target reset to support new HW
Support for new chip revision. Revision read from the internal register, PCIE config's "revision id" register do not indicate HW version properly
Sign
wil6210: update target reset to support new HW
Support for new chip revision. Revision read from the internal register, PCIE config's "revision id" register do not indicate HW version properly
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
e83eb2fc |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: enable scan while connected
New firmware do support scan while connected. Enable it.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <lin
wil6210: enable scan while connected
New firmware do support scan while connected. Enable it.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
e58c9f70 |
| 17-Mar-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: Block data till "data port open" reported
When connection established, as reported by WMI_CONNECT_EVENTID, 4-way handshaking required for the secure connection is not done yet. It is indica
wil6210: Block data till "data port open" reported
When connection established, as reported by WMI_CONNECT_EVENTID, 4-way handshaking required for the secure connection is not done yet. It is indicated by another WMI event. Wait for it and only then allow data traffic. In case of non-secure connection, FW reports "data port open" immediately after connection.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
Revision tags: v3.14-rc7, v3.14-rc6, v3.14-rc5 |
|
#
4d55a0a1 |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: single station disconnect
implement del_station() method in the struct cfg80211_ops It allows to disconnect single peer from the AP
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qua
wil6210: single station disconnect
implement del_station() method in the struct cfg80211_ops It allows to disconnect single peer from the AP
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
108d1eb6 |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: use ether_addr_equal
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
#
91886b0b |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: disconnect only requested peer
Disconnect event reported by the FW, should lead to disconnection of only requested peer. Find for the appropriate CID and disconnect only it
For AP-like int
wil6210: disconnect only requested peer
Disconnect event reported by the FW, should lead to disconnection of only requested peer. Find for the appropriate CID and disconnect only it
For AP-like interface, notify cfg80211 with del_sta(), for the client type interface, disconnect and turn link off.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
9a177384 |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: Find free vring for Tx
There are 24 possible Tx vrings; when doind multiple connections, more then one vring has to be used. Search for free one and select it.
Signed-off-by: Vladimir Kond
wil6210: Find free vring for Tx
There are 24 possible Tx vrings; when doind multiple connections, more then one vring has to be used. Search for free one and select it.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
b4490f42 |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: Block ACK
When running multiple connections, hardware can't do BACK reordering and it should be done on the host.
Model after mac80211's implementation. Drop RCU for now; to be re-added wh
wil6210: Block ACK
When running multiple connections, hardware can't do BACK reordering and it should be done on the host.
Model after mac80211's implementation. Drop RCU for now; to be re-added when BACK will be stabilized
BACK handshaking is not implemented yet in the hardware, pretend it was done to support the way FW operating
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|
#
3df2cd36 |
| 27-Feb-2014 |
Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> |
wil6210: multiple connect - initial support
Enable multiple (up to 8 - HW/FW limitation) simultaneous connections. Each connection has its own CID (connection ID) that describes chip's beam-forming
wil6210: multiple connect - initial support
Enable multiple (up to 8 - HW/FW limitation) simultaneous connections. Each connection has its own CID (connection ID) that describes chip's beam-forming entity. Tx Vring should refer to correct CID for frame to reach its destination.
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
show more ...
|