Slightly more efficient.

Backport of: e3e9652a43207561eaec6085a8272fe11b283286

Signed-off-by: Rosen Penev <[email protected]>
---
 .../drivers/net/ethernet/mediatek/mtk_eth_soc.c       | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git 
a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c 
b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 6999635ad7..76ad00136d 100644
--- a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -156,13 +156,11 @@ static inline void fe_int_enable(u32 mask)
 
 static inline void fe_hw_set_macaddr(struct fe_priv *priv, unsigned char *mac)
 {
-       unsigned long flags;
-
-       spin_lock_irqsave(&priv->page_lock, flags);
+       spin_lock_bh(&priv->page_lock);
        fe_w32((mac[0] << 8) | mac[1], FE_GDMA1_MAC_ADRH);
        fe_w32((mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5],
               FE_GDMA1_MAC_ADRL);
-       spin_unlock_irqrestore(&priv->page_lock, flags);
+       spin_unlock_bh(&priv->page_lock);
 }
 
 static int fe_set_mac_address(struct net_device *dev, void *p)
@@ -1273,7 +1271,6 @@ static int fe_open(struct net_device *dev)
 static int fe_stop(struct net_device *dev)
 {
        struct fe_priv *priv = netdev_priv(dev);
-       unsigned long flags;
        int i;
 
        netif_tx_disable(dev);
@@ -1283,12 +1280,12 @@ static int fe_stop(struct net_device *dev)
        if (priv->phy)
                priv->phy->stop(priv);
 
-       spin_lock_irqsave(&priv->page_lock, flags);
+       spin_lock_bh(&priv->page_lock);
 
        fe_reg_w32(fe_reg_r32(FE_REG_PDMA_GLO_CFG) &
                     ~(FE_TX_WB_DDONE | FE_RX_DMA_EN | FE_TX_DMA_EN),
                     FE_REG_PDMA_GLO_CFG);
-       spin_unlock_irqrestore(&priv->page_lock, flags);
+       spin_unlock_bh(&priv->page_lock);
 
        /* wait dma stop */
        for (i = 0; i < 10; i++) {
-- 
2.17.1


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to