net: qcom/emac: display the phy driver info after we connect
authorTimur Tabi <timur@codeaurora.org>
Fri, 27 Jan 2017 22:43:43 +0000 (16:43 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Jan 2017 00:07:02 +0000 (19:07 -0500)
The PHY driver is attached only when the driver calls
phy_connect_direct().  Calling phy_attached_print() to display
information about the PHY driver prior to that point is meaningless.
The interface can be brought down, a new PHY driver can be loaded,
and the interface then brought back up.  This is the correct time
to display information about the attached driver.

Since phy_attached_print() also prints information about the
interrupt, that needs to be set as well.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/emac/emac-mac.c
drivers/net/ethernet/qualcomm/emac/emac-phy.c

index e4793d7..155e273 100644 (file)
@@ -981,6 +981,7 @@ int emac_mac_up(struct emac_adapter *adpt)
        emac_mac_config(adpt);
        emac_mac_rx_descs_refill(adpt, &adpt->rx_q);
 
+       adpt->phydev->irq = PHY_IGNORE_INTERRUPT;
        ret = phy_connect_direct(netdev, adpt->phydev, emac_adjust_link,
                                 PHY_INTERFACE_MODE_SGMII);
        if (ret) {
@@ -988,11 +989,12 @@ int emac_mac_up(struct emac_adapter *adpt)
                return ret;
        }
 
+       phy_attached_print(adpt->phydev, NULL);
+
        /* enable mac irq */
        writel((u32)~DIS_INT, adpt->base + EMAC_INT_STATUS);
        writel(adpt->irq.mask, adpt->base + EMAC_INT_MASK);
 
-       adpt->phydev->irq = PHY_IGNORE_INTERRUPT;
        phy_start(adpt->phydev);
 
        napi_enable(&adpt->rx_q.napi);
index 1d7852f..441c193 100644 (file)
@@ -226,8 +226,5 @@ int emac_phy_config(struct platform_device *pdev, struct emac_adapter *adpt)
                return -ENODEV;
        }
 
-       if (adpt->phydev->drv)
-               phy_attached_print(adpt->phydev, NULL);
-
        return 0;
 }