Hi, On Mon, Jan 22, 2007 at 10:30:48AM -0800, Jack Vogel wrote: > Acknowledge... I can do better than that, I have a fix for this problem, and > its not temporary. Here is the code change (not a patch, I'm very busy), > its in hardware_init, should be obvious how to patch: > > /* Make sure we have a good EEPROM before we read from it */ > if (e1000_validate_nvm_checksum(&adapter->hw) < 0) { > /* > ** Some PCI-E parts fail the first check due to > ** the link being in sleep state, call it again, > ** if it fails a second time its a real issue. > */ > if (e1000_validate_nvm_checksum(&adapter->hw) < 0) { > device_printf(dev, > "The EEPROM Checksum Is Not Valid\n"); > return (EIO); > } > } > > This is already checked into my code base at Intel, I've just been too > busy to do anything with it, be my guest if you wish to check it in after > testing... I can confirm that the above patch fixes the frequent initialization problems with em(4) on my IBM/Lenovo ThinkPad X60s. Without the patch, I often see the following on boot when there is no link on the em(4) interface: Apr 17 22:05:12 lothlorien kernel: em0: The EEPROM Checksum Is Not Valid Apr 17 22:05:12 lothlorien kernel: em0: Unable to initialize the hardware With the patch, I can not reproduce the invalid checksum errors - the second call to e1000_validate_nvm_checksum() succeeds. Any chance of this patch hitting CURRENT anytime soon? :) Regards, Brix -- Henrik Brix Andersen <henrik_at_brixandersen.dk>
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:08 UTC