diff mbox series

carl9170: fix missing bit-wise or operator for tx_params

Message ID 20220125004406.344422-1-colin.i.king@gmail.com (mailing list archive)
State Accepted
Commit 02a95374b5eebdbd3b6413fd7ddec151d2ea75a1
Delegated to: Kalle Valo
Headers show
Series carl9170: fix missing bit-wise or operator for tx_params | expand

Commit Message

Colin Ian King Jan. 25, 2022, 12:44 a.m. UTC
Currently tx_params is being re-assigned with a new value and the
previous setting IEEE80211_HT_MCS_TX_RX_DIFF is being overwritten.
The assignment operator is incorrect, the original intent was to
bit-wise or the value in. Fix this by replacing the = operator
with |= instead.

Kudos to Christian Lamparter for suggesting the correct fix.

Fixes: fe8ee9ad80b2 ("carl9170: mac80211 glue and command interface")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Cc: <Stable@vger.kernel.org>

---

V2: change subject line to match the correct fix, add in the
    missing | operator
---
 drivers/net/wireless/ath/carl9170/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Christian Lamparter Jan. 26, 2022, 8:03 p.m. UTC | #1
On 25/01/2022 01:44, Colin Ian King wrote:
> Currently tx_params is being re-assigned with a new value and the
> previous setting IEEE80211_HT_MCS_TX_RX_DIFF is being overwritten.
> The assignment operator is incorrect, the original intent was to
> bit-wise or the value in. Fix this by replacing the = operator
> with |= instead.
> 
> Kudos to Christian Lamparter for suggesting the correct fix.
> 
> Fixes: fe8ee9ad80b2 ("carl9170: mac80211 glue and command interface")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> Cc: <Stable@vger.kernel.org>
Of course:

Acked-by: Christian Lamparter <chunkeey@gmail.com>
Kalle Valo Jan. 31, 2022, 2:14 p.m. UTC | #2
Colin Ian King <colin.i.king@gmail.com> wrote:

> Currently tx_params is being re-assigned with a new value and the
> previous setting IEEE80211_HT_MCS_TX_RX_DIFF is being overwritten.
> The assignment operator is incorrect, the original intent was to
> bit-wise or the value in. Fix this by replacing the = operator
> with |= instead.
> 
> Kudos to Christian Lamparter for suggesting the correct fix.
> 
> Fixes: fe8ee9ad80b2 ("carl9170: mac80211 glue and command interface")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> Cc: <Stable@vger.kernel.org>
> Acked-by: Christian Lamparter <chunkeey@gmail.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

02a95374b5ee carl9170: fix missing bit-wise or operator for tx_params
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
index 49f7ee1c912b..2208ec800482 100644
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
@@ -1914,7 +1914,7 @@  static int carl9170_parse_eeprom(struct ar9170 *ar)
 		WARN_ON(!(tx_streams >= 1 && tx_streams <=
 			IEEE80211_HT_MCS_TX_MAX_STREAMS));
 
-		tx_params = (tx_streams - 1) <<
+		tx_params |= (tx_streams - 1) <<
 			    IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT;
 
 		carl9170_band_2GHz.ht_cap.mcs.tx_params |= tx_params;