From: Jes Sorensen <[email protected]>

Signed-off-by: Jes Sorensen <[email protected]>
---
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c 
b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
index 6b39e4d..b6a264b 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
@@ -2105,15 +2105,18 @@ static int rtl8xxxu_download_firmware(struct 
rtl8xxxu_priv *priv)
 
        /* MCU firmware download enable */
        val8 = rtl8xxxu_read8(priv, REG_MCU_FW_DL);
-       rtl8xxxu_write8(priv, REG_MCU_FW_DL, val8 | MCU_FW_DL_ENABLE);
+       val8 |= MCU_FW_DL_ENABLE;
+       rtl8xxxu_write8(priv, REG_MCU_FW_DL, val8);
 
        /* 8051 reset */
        val32 = rtl8xxxu_read32(priv, REG_MCU_FW_DL);
-       rtl8xxxu_write32(priv, REG_MCU_FW_DL, val32 & ~BIT(19));
+       val32 &= ~BIT(19);
+       rtl8xxxu_write32(priv, REG_MCU_FW_DL, val32);
 
        /* Reset firmware download checksum */
        val8 = rtl8xxxu_read8(priv, REG_MCU_FW_DL);
-       rtl8xxxu_write8(priv, REG_MCU_FW_DL, val8 | MCU_FW_DL_CSUM_REPORT);
+       val8 |= MCU_FW_DL_CSUM_REPORT;
+       rtl8xxxu_write8(priv, REG_MCU_FW_DL, val8);
 
        pages = priv->fw_size / RTL_FW_PAGE_SIZE;
        remainder = priv->fw_size % RTL_FW_PAGE_SIZE;
@@ -2122,7 +2125,8 @@ static int rtl8xxxu_download_firmware(struct 
rtl8xxxu_priv *priv)
 
        for (i = 0; i < pages; i++) {
                val8 = rtl8xxxu_read8(priv, REG_MCU_FW_DL + 2) & 0xF8;
-               rtl8xxxu_write8(priv, REG_MCU_FW_DL + 2, val8 | i);
+               val8 |= i;
+               rtl8xxxu_write8(priv, REG_MCU_FW_DL + 2, val8);
 
                ret = rtl8xxxu_writeN(priv, REG_FW_START_ADDRESS,
                                      fwptr, RTL_FW_PAGE_SIZE);
@@ -2136,7 +2140,8 @@ static int rtl8xxxu_download_firmware(struct 
rtl8xxxu_priv *priv)
 
        if (remainder) {
                val8 = rtl8xxxu_read8(priv, REG_MCU_FW_DL + 2) & 0xF8;
-               rtl8xxxu_write8(priv, REG_MCU_FW_DL + 2, val8 | i);
+               val8 |= i;
+               rtl8xxxu_write8(priv, REG_MCU_FW_DL + 2, val8);
                ret = rtl8xxxu_writeN(priv, REG_FW_START_ADDRESS,
                                      fwptr, remainder);
                if (ret != remainder) {
@@ -2149,8 +2154,8 @@ static int rtl8xxxu_download_firmware(struct 
rtl8xxxu_priv *priv)
 fw_abort:
        /* MCU firmware download disable */
        val16 = rtl8xxxu_read16(priv, REG_MCU_FW_DL);
-       rtl8xxxu_write16(priv, REG_MCU_FW_DL,
-                        val16 & (~MCU_FW_DL_ENABLE & 0xff));
+       val16 &= ~MCU_FW_DL_ENABLE;
+       rtl8xxxu_write16(priv, REG_MCU_FW_DL, val16);
 
        return ret;
 }
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to