bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
authorColin Ian King <colin.king@canonical.com>
Tue, 27 Aug 2019 08:16:20 +0000 (09:16 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 3 Sep 2019 13:44:02 +0000 (16:44 +0300)
An earlier commit re-worked the setting of the bitmask and is now
assigning v with some bit flags rather than bitwise or-ing them
into v, consequently the earlier bit-settings of v are being lost.
Fix this by replacing an assignment with the bitwise or instead.

Addresses-Coverity: ("Unused value")
Fixes: 2be25cac8402 ("bcma: add constants for PCI and use them")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/bcma/driver_pci.c

index f499a469e66d08d7dfcb50e123c82fc920f32ea9..12b2cc9a3fbe8a1050133582e7f553b599fbcbbf 100644 (file)
@@ -78,7 +78,7 @@ static u16 bcma_pcie_mdio_read(struct bcma_drv_pci *pc, u16 device, u8 address)
                v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
        }
 
-       v = BCMA_CORE_PCI_MDIODATA_START;
+       v |= BCMA_CORE_PCI_MDIODATA_START;
        v |= BCMA_CORE_PCI_MDIODATA_READ;
        v |= BCMA_CORE_PCI_MDIODATA_TA;
 
@@ -121,7 +121,7 @@ static void bcma_pcie_mdio_write(struct bcma_drv_pci *pc, u16 device,
                v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
        }
 
-       v = BCMA_CORE_PCI_MDIODATA_START;
+       v |= BCMA_CORE_PCI_MDIODATA_START;
        v |= BCMA_CORE_PCI_MDIODATA_WRITE;
        v |= BCMA_CORE_PCI_MDIODATA_TA;
        v |= data;