From a technical perspective, your patch looks correct. However, if the
checksum validation is skipped, there is no way to distinguish between the
simple checksum error described above, and actual NVM corruption, which may
result in loss of functionality and undefined behavior. This means, that if
there is any functional issue with the network adapter on a given system,
while checksum validation was suspended by the user, we will not be able to
offer support
We handle this by adding quirks. We know which vendors/products have
FUBAR checksums, and allow them to be used when the checksum is
FUBAR. You could do something similar here, add a list of vendors with
known FUBAR checksums and allow them to be used, but taint the kernel,
and print a warming that the device is unsupported because the vendor
messed up the CRC.
Unfortunately at the device level I don't know what is the motherboard
manufacturer and model to be able to determine whether I have the
checksum messed up.
I could peek up MAC address in NVM, but even then there is no reliable
way to know which ranges of MAC addresses are indeed affected.
--
Best regards,
Jacek Kowalski