[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3fb71ecc-9096-4496-9152-f43b8721d937@jacekk.info>
Date: Mon, 30 Jun 2025 10:33:00 +0200
From: Jacek Kowalski <jacek@...ekk.info>
To: Tony Nguyen <anthony.l.nguyen@...el.com>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Andrew Lunn <andrew+netdev@...n.ch>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Simon Horman <horms@...nel.org>
Cc: intel-wired-lan@...ts.osuosl.org, netdev@...r.kernel.org
Subject: [PATCH v4 0/2] e1000e: disregard NVM checksums for known-bad cases on
Tiger Lake
As described by Vitaly Lifshits:
> 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.
There are two issues we have found so far on some Tiger Lake systems:
1. Checksum valid bit unset in NVM
Some Dell laptops, i.e. Latitude 5420, have a valid bit unset and
incorrect checksum over NVM contents.
2. Checksum word in NVM is uninitialized (0xFFFF)
Other Dell system, Optiplex 5090 Micro, has a valid bit set while
a checksum word contains 0xFFFF ("empty"/uninitialized value).
Both issues result in the driver refusing to work with error:
> e1000e 0000:XX:XX.X: The NVM Checksum Is Not Valid
The network card is rendered unusable.
Patches work around those problems by ignoring NVM checksum when those
exact error conditions are detected on TGP-based systems.
v1 -> v2: work around issue #2
v2 -> v3: fix wrong comparison in workaround for #2, drop u16 cast
v3 -> v4: rename constant, reformat files, update commit description
Jacek Kowalski (2):
e1000e: disregard NVM checksum on tgp when valid checksum bit is not
set
e1000e: ignore uninitialized checksum word on tgp
drivers/net/ethernet/intel/e1000e/defines.h | 3 +++
drivers/net/ethernet/intel/e1000e/ich8lan.c | 2 ++
drivers/net/ethernet/intel/e1000e/nvm.c | 6 ++++++
3 files changed, 11 insertions(+)
--
2.47.2
Powered by blists - more mailing lists