lkml.org 
[lkml]   [2022]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 37/38] wcn36xx: Differentiate wcn3660 from wcn3620
    Date
    From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

    commit 98d504a82cc75840bec8e3c6ae0e4f411921962b upstream.

    The spread of capability between the three WiFi silicon parts wcn36xx
    supports is:

    wcn3620 - 802.11 a/b/g
    wcn3660 - 802.11 a/b/g/n
    wcn3680 - 802.11 a/b/g/n/ac

    We currently treat wcn3660 as wcn3620 thus limiting it to 2GHz channels.
    Fix this regression by ensuring we differentiate between all three parts.

    Fixes: 8490987bdb9a ("wcn36xx: Hook and identify RF_IRIS_WCN3680")
    Cc: stable@vger.kernel.org
    Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
    Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
    Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20220125004046.4058284-1-bryan.odonoghue@linaro.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/wireless/ath/wcn36xx/main.c | 3 +++
    drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 1 +
    2 files changed, 4 insertions(+)

    --- a/drivers/net/wireless/ath/wcn36xx/main.c
    +++ b/drivers/net/wireless/ath/wcn36xx/main.c
    @@ -1362,6 +1362,9 @@ static int wcn36xx_platform_get_resource
    if (iris_node) {
    if (of_device_is_compatible(iris_node, "qcom,wcn3620"))
    wcn->rf_id = RF_IRIS_WCN3620;
    + if (of_device_is_compatible(iris_node, "qcom,wcn3660") ||
    + of_device_is_compatible(iris_node, "qcom,wcn3660b"))
    + wcn->rf_id = RF_IRIS_WCN3660;
    if (of_device_is_compatible(iris_node, "qcom,wcn3680"))
    wcn->rf_id = RF_IRIS_WCN3680;
    of_node_put(iris_node);
    --- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h
    +++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h
    @@ -96,6 +96,7 @@ enum wcn36xx_ampdu_state {

    #define RF_UNKNOWN 0x0000
    #define RF_IRIS_WCN3620 0x3620
    +#define RF_IRIS_WCN3660 0x3660
    #define RF_IRIS_WCN3680 0x3680

    static inline void buff_to_be(u32 *buf, size_t len)

    \
     
     \ /
      Last update: 2022-03-25 16:20    [W:4.042 / U:0.368 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site