From: SilverPlate3 <arielsilver77@xxxxxxxxx> --- drivers/staging/vt6655/card.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 350ab8f3778a..8290dc5a0398 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -292,14 +292,16 @@ bool card_update_tsf(struct vnt_private *priv, unsigned char rx_rate, { u64 local_tsf; u64 qwTSFOffset = 0; - + __le64 le_qwTSFOffset = 0; + local_tsf = vt6655_get_current_tsf(priv); if (qwBSSTimestamp != local_tsf) { qwTSFOffset = CARDqGetTSFOffset(rx_rate, qwBSSTimestamp, local_tsf); /* adjust TSF, HW's TSF add TSF Offset reg */ - qwTSFOffset = le64_to_cpu(qwTSFOffset); + le_qwTSFOffset = cpu_to_le64(qwTSFOffset); + qwTSFOffset = le64_to_cpu(le_qwTSFOffset); iowrite32((u32)qwTSFOffset, priv->port_offset + MAC_REG_TSFOFST); iowrite32((u32)(qwTSFOffset >> 32), priv->port_offset + MAC_REG_TSFOFST + 4); vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_TFTCTL, TFTCTL_TSFSYNCEN); @@ -324,6 +326,7 @@ bool CARDbSetBeaconPeriod(struct vnt_private *priv, unsigned short wBeaconInterval) { u64 qwNextTBTT; + __le64 le_qwNextTBTT; qwNextTBTT = vt6655_get_current_tsf(priv); /* Get Local TSF counter */ @@ -333,7 +336,8 @@ bool CARDbSetBeaconPeriod(struct vnt_private *priv, iowrite16(wBeaconInterval, priv->port_offset + MAC_REG_BI); priv->wBeaconInterval = wBeaconInterval; /* Set NextTBTT */ - qwNextTBTT = le64_to_cpu(qwNextTBTT); + le_qwNextTBTT = cpu_to_le64(qwNextTBTT); + qwNextTBTT = le64_to_cpu(le_qwNextTBTT); iowrite32((u32)qwNextTBTT, priv->port_offset + MAC_REG_NEXTTBTT); iowrite32((u32)(qwNextTBTT >> 32), priv->port_offset + MAC_REG_NEXTTBTT + 4); vt6655_mac_reg_bits_on(priv->port_offset, MAC_REG_TFTCTL, TFTCTL_TBTTSYNCEN); @@ -796,12 +800,14 @@ void CARDvSetFirstNextTBTT(struct vnt_private *priv, { void __iomem *iobase = priv->port_offset; u64 qwNextTBTT; + __le64 le_qwNextTBTT = 0; qwNextTBTT = vt6655_get_current_tsf(priv); /* Get Local TSF counter */ qwNextTBTT = CARDqGetNextTBTT(qwNextTBTT, wBeaconInterval); /* Set NextTBTT */ - qwNextTBTT = le64_to_cpu(qwNextTBTT); + le_qwNextTBTT = cpu_to_le64(qwNextTBTT); + qwNextTBTT = le64_to_cpu(le_qwNextTBTT); iowrite32((u32)qwNextTBTT, iobase + MAC_REG_NEXTTBTT); iowrite32((u32)(qwNextTBTT >> 32), iobase + MAC_REG_NEXTTBTT + 4); vt6655_mac_reg_bits_on(iobase, MAC_REG_TFTCTL, TFTCTL_TBTTSYNCEN); @@ -824,11 +830,13 @@ void CARDvSetFirstNextTBTT(struct vnt_private *priv, void CARDvUpdateNextTBTT(struct vnt_private *priv, u64 qwTSF, unsigned short wBeaconInterval) { + __le64 le_qwTSF = 0; void __iomem *iobase = priv->port_offset; qwTSF = CARDqGetNextTBTT(qwTSF, wBeaconInterval); /* Set NextTBTT */ - qwTSF = le64_to_cpu(qwTSF); + le_qwTSF = cpu_to_le64(qwTSF); + qwTSF = le64_to_cpu(le_qwTSF); iowrite32((u32)qwTSF, iobase + MAC_REG_NEXTTBTT); iowrite32((u32)(qwTSF >> 32), iobase + MAC_REG_NEXTTBTT + 4); vt6655_mac_reg_bits_on(iobase, MAC_REG_TFTCTL, TFTCTL_TBTTSYNCEN); -- 2.25.1