Re: [Intel-wired-lan] [PATCH] e1000e: disregard NVM checksum on tgp when valid checksum mask is not set

Lifshits, Vitaly
2025-04-27T13:26:54Z

On 4/24/2025 8:29 PM, Jacek Kowalski wrote:
> Hi,
>
>>>> Because it is impossible to determine whether the NVM write would
>>>> finish
>>>> correctly or hang (see
>>>> https://bugzilla.kernel.org/show_bug.cgi?id=213667)
>>>> it makes sense to skip the validation completely under these
>>>> conditions.
>
>> It is not completely accurate. All the NVMs starting from Tiger Lake
>> are locked for writes, so NVM writes will always result in a failure.
>
> Check my message in a thread of an earlier patch:
>
> Message-ID: <1c4b00b6-f6e3-4b04-a129-24452df60903@jacekk.info>
> https://lists.osuosl.org/pipermail/intel-wired-lan/Week-of-Mon-20250407/047551.html
>
>
> On my laptop NVM write operation *does not fail* (nor hangs), driver
> loads and ethtool shows corrected checksum.
>
> This lasts only until module reload (rmmod/insmod) or reboot.
>
> I guess only shadow RAM is updated (or something like that) and not the
> non-volatile memory, but the operation itself does not error out.

Yeah, probably this is what happens.

>
> It might also be because I've disabled Secure Boot...
>

Anyway, I think that the commit message should be precise.
How about this?

Starting from Tiger Lake, LAN NVM is locked for writes by SW, so the
driver cannot perform checksum validation and correction. This means
that all NVM images must leave the factory with correct checksum and
checksum valid bit set. Since Tiger Lake devices were the first to have
this lock, some systems in the field did not meet this requirement.
Therefore, for these transitional devices we skip checksum update and
verification, if the valid bit is not set.