On Tue, 2023-11-14 at 13:50 +0100, Jose Ignacio Tornos Martinez wrote:
> Using generic ASIX Electronics Corp. AX88179 Gigabit Ethernet device,
> the following test cycle has been implemented:
> - power on
> - check logs
> - shutdown
> - after detecting the system shutdown, disconnect power
> - after approximately 60 seconds of sleep, power is restored
> Running some cycles, sometimes error logs like this appear:
> kernel: ax88179_178a 2-9:1.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -19
> kernel: ax88179_178a 2-9:1.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0001: -19
> ...
> These failed operation are happening during ax88179_reset execution, so
> the initialization could not be correct.
>
> In order to avoid this, we need to increase the delay after reset and
> clock initial operations. By using these larger values, many cycles
> have been run and no failed operations appear.
>
> Reported-by: Herb Wei <[email protected]>
> Tested-by: Herb Wei <[email protected]>
> Signed-off-by: Jose Ignacio Tornos Martinez <[email protected]>
We need at least a suitable Fixes tag
> ---
> drivers/net/usb/ax88179_178a.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
> index aff39bf3161d..4ea0e155bb0d 100644
> --- a/drivers/net/usb/ax88179_178a.c
> +++ b/drivers/net/usb/ax88179_178a.c
> @@ -1583,11 +1583,11 @@ static int ax88179_reset(struct usbnet *dev)
>
> *tmp16 = AX_PHYPWR_RSTCTL_IPRL;
> ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_PHYPWR_RSTCTL, 2, 2, tmp16);
> - msleep(200);
> + msleep(500);
Do you know if there is some status register you can query for 'reset
completed'? or some official documentation you can quote for the above
delay?
Thanks!
Paolo
On Thu, Nov 16, 2023 at 10:38 AM Paolo Abeni <[email protected]> wrote:
> We need at least a suitable Fixes tag
Ok, I will add it in my next version.
> Do you know if there is some status register you can query for 'reset
> completed'? or some official documentation you can quote for the above
> delay?
I have only continued the previous way.
But, you are right, maybe it can be done better, let me try if possible.
Thank you
Best regards
José Ignacio