Re: [PATCH net-next v1] lan78xx: lan7801 MAC support with lan8841

Andrew Lunn
2024-06-20T13:49:46Z

On Thu, Jun 20, 2024 at 05:48:31AM +0000, Rengarajan.S@microchip.com wrote:
> Hi Andrew,
>
> Apologies for the delay in reply. Thanks for reviewing the patch.
> Please find my comments inline.
>
> On Thu, 2024-06-13 at 22:46 +0200, Andrew Lunn wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you
> > know the content is safe
> >
> > On Tue, Jun 11, 2024 at 03:12:33PM +0530, Rengarajan S wrote:
> > > Add lan7801 MAC only support with lan8841. The PHY fixup is
> > > registered
> > > for lan8841 and the initializations are done using lan8835_fixup
> > > since
> > > the register configs are similar for both lann8841 and lan8835.
> >
> > What exactly does this fixup do?
>
> Fixup related to the phy handle and manage the configuration and status
> registers of a particular phy. In this patch it is used to handle the
> configuration registers of LAN8841 which are similar to registers in
> LAN8835.

Details please, not hand waving. What does the errata say? Why is this
specific to your USB dongle, and not all cases where this PHY is used?

> > Looking at it, what protects it from being used on some other device
> > which also happens to use the same PHY? Is there something to
> > guarantee:
> >
> > struct lan78xx_net *dev = netdev_priv(phydev->attached_dev);
> >
> > really is a lan78xx_net * ?
>
> In this case fixup is called through lan78xx only when interfacing the
> phy with lan78xx MAC. Since this will not be called on interfacing with
> other devices, it prevents them from accessing the registers.

Please give me a details explanation why this fixup will not be
applied to other instances of this PHY in the system.

Andrew