Handle join failure

In case join fails driver leaves hardware in joined state.
That will cause different side effects like next join will
always fail and scan does not work properly. As a fix just
delete bss  in case join failed.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Do not forget to remove sta in AP mode

In AP mode sometimes HW remained misconfigured because of
previous sta was not removed.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Do not encrypt EAPOL keys

Keys are coming in data frames. So do not encrypt
data packets until key exchange is finished.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Configure correct AID and sta_index in AP mode

Encrypted AP mode was not working because of misconfiguration.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Synchronize smd commands

Add protection to smd api to make sure all smd
commands are sent sequentially.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Instructions and patch for using backports to build wcn36xx

Updated the instructions initially done by kvalo to be a bit more
comprehensive.

Also, add the patch necessary for the backports git to out repo.
Adapt to new beacon/dtim enum semantic

The commit 989c6505cdda587f87573bb6828f23964dd3d19b changes the name of
the enum BSS_CHANGED_DTIM_PERIOD to BSS_CHANGED_BEACON_INFO.
We need to update our code to the corresponding value.

Signed-off-by: Olof Johansson <dev@skyshaper.net>
Merge pull request #65 from KrasnikovEugene/ap_en

Support encryption in AP mode
Merge pull request #66 from KrasnikovEugene/smd_sync

Synchronize smd commands
Merge pull request #67 from Coi-l/master

Backports patch and instructions
Update to new wowlan support struct

Commit 964dc9e2c3aaccacacd40640964a58544fb5769a updated the way to
configure wowlan support. This commit adapts wcn36xx to this new way.

Signed-off-by: Olof Johansson <dev@skyshaper.net>
Refactor TX path

With this patch all parameters will be first passed to txrx
module and only after that to dxe. This will allow passing
less parameters to the functions. Also make sure that data
frames will get as fast as possible to the HW.

Short function description:

wcn36xx_start_tx - fills in BD and trigger dxe to start
transmitting.

wcn36xx_set_tx_pdu - fills in PDU part of BD.

wcn36xx_set_tx_data - set data specific BD parameters

wcn36xx_set_tx_mgmt - set BD parameters that are specific to
management and control frames.

wcn36xx_dxe_tx_frame - transmits one frame from the head
of the descriptors.

Signed-off-by: Eugene Krasnikov <k.eugene.e@gmail.com>
Merge pull request #71 from KrasnikovEugene/refact

Refactor TX path
Merge pull request #69 from Coi-l/newr

Adaptions for new kernel commits