Search Linux Wireless

RE: [PATCH v3] wifi: rtw88: enable TX reports for the management queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> wrote:
> This is needed for AP mode. Otherwise client sees the network, but
> can't connect to it.
> 
> REG_FWHW_TXQ_CTRL+1 is set to WLAN_TXQ_RPT_EN (0x1F) in common mac
> init function (__rtw8723x_mac_init), but the value was overwritten
> from mac table later.
> 
> Tables with register values for phy parameters initialization are
> copied from vendor driver usually. When table will be regenerated,
> manual modifications to it may be lost. To avoid regressions in this
> case new callback mac_postinit is introduced, that is called after
> parameters from table are set.
> 
> Tested on rtl8723cs, that reuses rtw8703b driver.
> 
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx>
> ---
> 
> Changes in v2:
>  - introduce mac_postinit callback to avoid changing register tables
> 
> Changes in v3:
>  - merge two patches back together
>  - remove unused initialization in rtw_mac_postinit
>  - init unused .mac_postinit fields in drivers with NULL
> 
>  drivers/net/wireless/realtek/rtw88/mac.c      | 11 +++++++++++
>  drivers/net/wireless/realtek/rtw88/mac.h      |  1 +
>  drivers/net/wireless/realtek/rtw88/main.c     |  6 ++++++
>  drivers/net/wireless/realtek/rtw88/main.h     |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8703b.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8723d.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8723x.c |  9 ++++++++-
>  drivers/net/wireless/realtek/rtw88/rtw8723x.h |  6 ++++++
>  drivers/net/wireless/realtek/rtw88/rtw8812a.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8814a.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8821a.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8821c.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8822b.c |  1 +
>  drivers/net/wireless/realtek/rtw88/rtw8822c.c |  1 +
>  14 files changed, 41 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
> index 011b81c82f3ba..e1ec9aa401fa0 100644
> --- a/drivers/net/wireless/realtek/rtw88/mac.c
> +++ b/drivers/net/wireless/realtek/rtw88/mac.c
> @@ -1409,3 +1409,14 @@ int rtw_mac_init(struct rtw_dev *rtwdev)
> 
>         return 0;
>  }
> +
> +int rtw_mac_postinit(struct rtw_dev *rtwdev)
> +{
> +       const struct rtw_chip_info *chip = rtwdev->chip;
> +       int ret;
> +
> +       if (chip->ops->mac_postinit)
> +               ret = chip->ops->mac_postinit(rtwdev);
> +

'ret' is not used [1].

Prefer:

if (!chip->ops->mac_postinit)
    return 0;

return chip->ops->mac_postinit(rtwdev);

[1] http://wifibot.sipsolutions.net/results/981272/14152513/build_clang/stderr

> +       return 0;
> +}

[...]






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux