Re: [PATCH] igb: add parameter to ignore nvm checksum validation

From: Florian Fainelli
Date: Thu May 16 2019 - 21:51:06 EST




On 5/16/2019 6:03 PM, Daniel Walker wrote:
> On Thu, May 16, 2019 at 03:02:18PM -0700, Florian Fainelli wrote:
>> On 5/16/19 12:55 PM, Nikunj Kela (nkela) wrote:
>>>
>>>
>>> On 5/16/19, 12:35 PM, "Jeff Kirsher" <jeffrey.t.kirsher@xxxxxxxxx> wrote:
>>>
>>> On Wed, 2019-05-08 at 23:14 +0000, Nikunj Kela wrote:
>>> >> Some of the broken NICs don't have EEPROM programmed correctly. It
>>> >> results
>>> >> in probe to fail. This change adds a module parameter that can be
>>> >> used to
>>> >> ignore nvm checksum validation.
>>> >>
>>> >> Cc: xe-linux-external@xxxxxxxxx
>>> >> Signed-off-by: Nikunj Kela <nkela@xxxxxxxxx>
>>> >> ---
>>> >> drivers/net/ethernet/intel/igb/igb_main.c | 28
>>> >> ++++++++++++++++++++++------
>>> >> 1 file changed, 22 insertions(+), 6 deletions(-)
>>>
>>> >NAK for two reasons. First, module parameters are not desirable
>>> >because their individual to one driver and a global solution should be
>>> >found so that all networking device drivers can use the solution. This
>>> >will keep the interface to change/setup/modify networking drivers
>>> >consistent for all drivers.
>>>
>>>
>>> >Second and more importantly, if your NIC is broken, fix it. Do not try
>>> >and create a software workaround so that you can continue to use a
>>> >broken NIC. There are methods/tools available to properly reprogram
>>> >the EEPROM on a NIC, which is the right solution for your issue.
>>>
>>> I am proposing this as a debug parameter. Obviously, we need to fix EEPROM but this helps us continuing the development while manufacturing fixes NIC.
>>
>> Then why even bother with sending this upstream?
>
> It seems rather drastic to disable the entire driver because the checksum
> doesn't match. It really should be a warning, even a big warning, to let people
> know something is wrong, but disabling the whole driver doesn't make sense.

You could generate a random Ethernet MAC address if you don't have a
valid one, a lot of drivers do that, and that's a fairly reasonable
behavior. At some point in your product development someone will
certainly verify that the provisioned MAC address matches the network
interface's MAC address.
--
Florian