Re: [PATCH] lan78xx: Don't reset the interface on open

From: Phil Elwell
Date: Tue Apr 10 2018 - 10:34:02 EST


Hi Nisar,

On 10/04/2018 15:16, Nisar.Sayed@xxxxxxxxxxxxx wrote:
> Thanks Phil, for identifying the issues.
>
>> - ret = lan78xx_reset(dev);
>> - if (ret < 0)
>> - goto done;
>> -
>> phy_start(net->phydev);
>>
>> netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
>> --
>
> You may need to start the interrupts before "phy_start" instead of suppressing call to "lan78xx_reset".
>
> + if (dev->domain_data.phyirq > 0)
> + phy_start_interrupts(dev->net->phydev);

Shouldn't phy_connect_direct, called from lan78xx_phy_init, already have enabled interrupts for us?

This patch addresses two problems - time wasted by renegotiating the link after the reset and the
missed interrupt - and I'd like both to be fixed. Unless you can come up with a good reason for
performing the reset from the open handler I think it should be removed.

Phil