> +     /* hwmon interface needs to access 16bit registers in atomic way to
> +      * guarantee coherency of the diagnostic monitoring data. If it is not
> +      * possible to guarantee coherency because EEPROM is broken in such way
> +      * that does not support atomic 16bit read operation then we have to
> +      * skip registration of hwmon device.
> +      */
> +     if (sfp->i2c_block_size < 2) {
> +             dev_info(sfp->dev, "skipping hwmon device registration "
> +                                "due to broken EEPROM\n");
> +             dev_info(sfp->dev, "diagnostic EEPROM area cannot be read "
> +                                "atomically to guarantee data coherency\n");
> +             return;
> +     }

This solves hwmon. But we still return the broken data to ethtool -m.
I wonder if we should prevent that?

  Andrew

Reply via email to