Message ID | 20220125004406.344422-1-colin.i.king@gmail.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | carl9170: fix missing bit-wise or operator for tx_params | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
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>
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 --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;
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(-)