Re: e1000: "eeprom checksum is not valid" after kexec

From: Rafael J. Wysocki
Date: Thu Apr 23 2009 - 17:49:19 EST


On Thursday 23 April 2009, Jiri Slaby wrote:
> On 04/23/2009 05:15 PM, Rafael J. Wysocki wrote:
> > On Thursday 23 April 2009, Jiri Slaby wrote:
> >> 4a865905f685eaefaedf6ade362323dc52aa703b
> >> (PCI PM: Make pci_set_power_state() handle devices with no PM support)
> >> breaks e1000 after being kexec'ed. These reverts fix the problem:
> >> Revert "PCI PM: Make pci_set_power_state() handle devices with no PM
> >> support"
> >> Revert "PCI PM: Introduce __pci_[start|complete]_power_transition()
> >> (rev. 2)"
> >>
> >> I reverted the second one
> >
> > I don't think it can be reverted.
>
> But it works :). I'm not saying, it's correct to revert them upstream.
> It was just confirmation, that it causes the problem.
>
> >> just for an easy revert of the former one, which is actually the culprit.
> >
> > Can you just try to revert the changes in pci_raw_set_power_state() and check
> > if that has any effect (it shouldn't)?
>
> Please send a patch. I'm lost in the changes done there. Let's say
> against the top of 20090423 next tree.

I can easily send you a patch against -rc3 if that's sufficient.

> >> e1000: 0000:02:01.0: e1000_probe: Invalid MAC Address
> >> e1000: 0000:02:01.0: e1000_probe: (PCI-X:33MHz:64-bit) 00:00:00:00:00:00
> >
> > So this is after kexec?
>
> yes

Do you kexec the same kernel or any other kernel?

> > What happens if you remove just the
> >
> > /* Check if we're already there */
> > if (dev->current_state == state)
> > return 0;
> >
> > part from pci_set_power_state()?
>
> Will try later.

OK, thanks.

Best,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/