Lenovo X60 em workaround
Henrik Brix Andersen
henrik at brixandersen.dk
Tue Apr 17 23:30:05 UTC 2007
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>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 209 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20070417/087d1f99/attachment.pgp
More information about the freebsd-stable
mailing list