Subject: Re: [PATCH net] dpll: zl3073x: Handle missing or corrupted flash configuration

From: Simon Horman <[email-masked]>
Date: Mon, 13 Oct 2025 10:15:05 +0100

On Wed, Oct 08, 2025 at 04:14:45PM +0200, Ivan Vecera wrote:
> If the internal flash contains missing or corrupted configuration,
> basic communication over the bus still functions, but the device
> is not capable of normal operation (for example, using mailboxes).
> 
> This condition is indicated in the info register by the ready bit.
> If this bit is cleared, the probe procedure times out while fetching
> the device state.
> 
> Handle this case by checking the ready bit value in zl3073x_dev_start()
> and skipping DPLL device and pin registration if it is cleared.
> Do not report this condition as an error, allowing the devlink device
> to be registered and enabling the user to flash the correct configuration.
> 
> Prior this patch:
> [   31.112299] zl3073x-i2c 1-0070: Failed to fetch input state: -ETIMEDOUT
> [   31.116332] zl3073x-i2c 1-0070: error -ETIMEDOUT: Failed to start device
> [   31.136881] zl3073x-i2c 1-0070: probe with driver zl3073x-i2c failed with error -110
> 
> After this patch:
> [   41.011438] zl3073x-i2c 1-0070: FW not fully ready - missing or corrupted config
> 
> Fixes: 75a71ecc24125 ("dpll: zl3073x: Register DPLL devices and pins")
> Signed-off-by: Ivan Vecera <[email-masked]>

I am unsure how much precedence there is for probing a device
with very limited functionality like this. But, the approach
does make sense to me as it provides a path for user intervention
to address the detected problem which at any rate renders the probed
driver inoperable.

Reviewed-by: Simon Horman <[email-masked]>

...