[PATCH 04/17] staging: wfx: fix wrong bytes order

From: Jerome Pouiller
Date: Mon May 11 2020 - 11:50:04 EST


From: JÃrÃme Pouiller <jerome.pouiller@xxxxxxxxxx>

The field wakeup_period_max from struct hif_mib_beacon_wake_up_period is
a u8. So, assigning it a __le16 produces a nasty bug on big-endian
architectures.

Signed-off-by: JÃrÃme Pouiller <jerome.pouiller@xxxxxxxxxx>
---
drivers/staging/wfx/hif_tx_mib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wfx/hif_tx_mib.c b/drivers/staging/wfx/hif_tx_mib.c
index 65381b22437e..567c61d1fe2e 100644
--- a/drivers/staging/wfx/hif_tx_mib.c
+++ b/drivers/staging/wfx/hif_tx_mib.c
@@ -32,7 +32,7 @@ int hif_set_beacon_wakeup_period(struct wfx_vif *wvif,
struct hif_mib_beacon_wake_up_period val = {
.wakeup_period_min = dtim_interval,
.receive_dtim = 0,
- .wakeup_period_max = cpu_to_le16(listen_interval),
+ .wakeup_period_max = listen_interval,
};

if (dtim_interval > 0xFF || listen_interval > 0xFFFF)
--
2.26.2