greearb / ath10k-ct

Stand-alone ath10k driver based on Candela Technologies Linux kernel.
111 stars 40 forks source link

ath10k-ct: workaround TX rate code firmware bug #129

Closed ynezz closed 4 years ago

ynezz commented 4 years ago

It seems, that we get a bad tx/rx rate from firmware, it is not a real problem so just check for invalid rate (0xff) and force it to be zero instead.

Fixes: #117 Ref: https://bugs.openwrt.org/index.php?do=details&task_id=3055

ynezz commented 4 years ago

So instead of the huge WARN_ONCE I now get following:

[35813.233173] ath10k_ahb a000000.wifi: htt tx: fixing invalid VHT TX rate code 0xff
greearb commented 4 years ago

Could you please change the printk output to specify which place in the code is generating the warning message? That will help me understand what is broken in firmware. And, you can just do the patch against a single tree...I'll pull this into my upstream kernels manually, then backport, then re-pull into ath10k-ct.

ynezz commented 4 years ago

Could you please change the printk output to specify which place in the code is generating the warning message stand what is broken in firmware.

Is this enough?

ath10k-5.4/htt_rx.c: dev_warn_once(ar->dev, "htt tx ct: fixing invalid VHT TX rate code 0xff\n");
ath10k-5.4/htt_rx.c: dev_warn_once(ar->dev, "htt tx: fixing invalid VHT TX rate code 0xff\n");
ath10k-5.4/wmi.c: dev_warn_once(ar->dev, "wmi: fixing invalid VHT TX rate code 0xff\n");

And, you can just do the patch against a single tree...I'll pull this into my upstream kernels manually, then backport, then re-pull into ath10k-ct.

As I don't know if/how fast is this going to propagate into your trees, I've simply fixed OpenWrt 19.07 and snapshot kernel version so I could simply reuse this.

greearb commented 4 years ago

Your change looks good, plz update the pull request and I'll get it merged and propagated today.

ynezz commented 4 years ago

Done.

greearb commented 4 years ago

I pushed this to ath10k-ct, please test if you are able, and update OpenWrt to use latest ath10k-ct commit id. I had to tweak the 4.19 code as patch would not apply cleanly..it compiles but un-tested at runtime.