> During successful probe, igc logs this:
> 
> [    5.133667] igc 0000:01:00.0 (unnamed net_device) (uninitialized): PHC
> added
>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> The reason is that igc_ptp_init() is called very early, even before
> register_netdev() has been called. So the netdev_info() call works on a
> partially uninitialized netdev.
> 
> Fix this by calling igc_ptp_init() after register_netdev(), right after the 
> media
> autosense check, just as in igb.  Add a comment, just as in igb.
> 
> Now the log message is fine:
> 
> [    5.200987] igc 0000:01:00.0 eth0: PHC added
> 
Reviewed-by: Hariprasad Kelam <[email protected]>

> Signed-off-by: Corinna Vinschen <[email protected]>
> ---
>  drivers/net/ethernet/intel/igc/igc_main.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c
> b/drivers/net/ethernet/intel/igc/igc_main.c
> index d9bd001af7ba..e5900d004071 100644
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -6927,8 +6927,6 @@ static int igc_probe(struct pci_dev *pdev,
>       device_set_wakeup_enable(&adapter->pdev->dev,
>                                adapter->flags &
> IGC_FLAG_WOL_SUPPORTED);
> 
> -     igc_ptp_init(adapter);
> -
>       igc_tsn_clear_schedule(adapter);
> 
>       /* reset the hardware with the new settings */ @@ -6950,6 +6948,9
> @@ static int igc_probe(struct pci_dev *pdev,
>       /* Check if Media Autosense is enabled */
>       adapter->ei = *ei;
> 
> +     /* do hw tstamp init after resetting */
> +     igc_ptp_init(adapter);
> +
>       /* print pcie link status and MAC address */
>       pcie_print_link_status(pdev);
>       netdev_info(netdev, "MAC: %pM\n", netdev->dev_addr);
> --
> 2.44.0
> 

Reply via email to