af_ath: don't use trash to configure interrupts 116/head
authorOleksij Rempel <linux@rempel-privat.de>
Sat, 26 Nov 2016 12:18:42 +0000 (13:18 +0100)
committerOleksij Rempel <linux@rempel-privat.de>
Sat, 26 Nov 2016 13:05:59 +0000 (14:05 +0100)
commit83dd3bf0aae9da59ecb39852500f5e25adddef27
tree2d4f279723aaedbfaec813dceeda7443b1189993
parent0370bc7b84e1c4b835b2dba7074037933dccc8a5
af_ath: don't use trash to configure interrupts

The WMI_ENABLE_INTR_CMDID can some time send empty package
to set interrupt to default value.
The problem is that ath_enable_intr_tgt is testing the
data pointer instead of dataleng variable.
We have never data == NULL case, even on zero size package.
(which is probably a bug too)

As result, FW was using some part of memory with undefined value
to configure interrupts. In most cases it was enabling SWBA interrupt
even if driver was trying to disable it.

In my tests, this issue was not really affecting STA or AP mode.

The only measurable difference i got on AP+STA mode. In this case
the FW was sending SWBA event to host at the channel switch in the
bgscan.

Possible effects of this issue:
- slow bgscan. EP3/EP4 have perfomance issue, extra traffic on will
make is slower.
- spreading our AP beacons on other channels.
- more ???

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
target_firmware/wlan/if_ath.c