From: "dared1st" <dared1st@sbcglobal.net>
To: "'Auke Kok'" <auke-jan.h.kok@intel.com>
Cc: "'Ryan Richter'" <ryan@tau.solarneutrino.net>,
"'Lukas Hejtmanek'" <xhejtman@mail.muni.cz>,
<linux-kernel@vger.kernel.org>,
"'Jesse Brandeburg'" <jesse.brandeburg@intel.com>,
"'Ronciak, John'" <john.ronciak@intel.com>
Subject: RE: Machine restart doesn't work - Intel 965G, 2.6.19-rc2 / e1000?
Date: Tue, 17 Oct 2006 15:14:03 -0700 [thread overview]
Message-ID: <000601c6f239$8fd61ef0$3d3d7a86@dareddesktop> (raw)
In-Reply-To: <45354850.6050900@intel.com>
>-----Original Message-----
>From: Auke Kok [mailto:auke-jan.h.kok@intel.com]
>Sent: Tuesday, October 17, 2006 2:17 PM
>To: Aleksey Gorelov
>Cc: Ryan Richter; Lukas Hejtmanek; linux-kernel@vger.kernel.org; auke-
>jan.h.kok@intel.com; Jesse Brandeburg; Ronciak, John
>Subject: Re: Machine restart doesn't work - Intel 965G, 2.6.19-rc2 / e1000?
>
>Aleksey Gorelov wrote:
>>
>> --- Ryan Richter <ryan@tau.solarneutrino.net> wrote:
>>> 2.6.19-rc1-git9 doesn't work any better for me. I haven't tried
>>> unloading the e1000 module yet. Since I run the machine off an nfsroot,
>>> it will require some creativity to test that.
>>>
>>> -ryan
>>
>> You may try the following patch instead if it's easier for you. It'll
>likely break suspend stuff,
>> but you won't need to play around with modules.
>>
>> Aleks.
>>
>> --- linux-2.6.19-rc2/drivers/net/e1000/e1000_main.c.orig 2006-10-17
>13:36:06.000000000 -0700
>> +++ linux-2.6.19-rc2/drivers/net/e1000/e1000_main.c 2006-10-17
>13:36:50.000000000 -0700
>> @@ -4847,6 +4847,7 @@
>> static void e1000_shutdown(struct pci_dev *pdev)
>> {
>> e1000_suspend(pdev, PMSG_SUSPEND);
>> + pci_set_power_state(pdev, PCI_D0);
>> }
>>
>> #ifdef CONFIG_NET_POLL_CONTROLLER
>
>I wouldn't do that like this, since e1000_suspend already does a
>pci_set_power_state()
>right before it exits, and doing two of those closely after another might
>result in an
>undetermined state.
>
>I would be more interested in forcing D3 state instead of the current
>`pci_set_power_state(pdev, pci_choose_state(pdev, state));` in
>e1000_suspend, so can you
>try this instead?
But how this is different from original variant?
pci_choose_state(pdev, PMSG_SUSPEND) returns PCI_D3hot, and it is when LAN
in this state machine does not reboot. That's why I tried PCI_D0 in first
place (actually, I've originally just remove pci_set_power_state call at
all). I did not try PCI_D3cold, though.
>
>diff --git a/drivers/net/e1000/e1000_main.c
>b/drivers/net/e1000/e1000_main.c
>index ce0d35f..30ceeec 100644
>--- a/drivers/net/e1000/e1000_main.c
>+++ b/drivers/net/e1000/e1000_main.c
>@@ -4793,7 +4793,7 @@ #endif
>
> pci_disable_device(pdev);
>
>- pci_set_power_state(pdev, pci_choose_state(pdev, state));
>+ pci_set_power_state(pdev, PCI_D3hot);
>
> return 0;
> }
>
>
>alternatively, you can try PCI_D3cold or PCI_D0, but setting the device to
>D0 is a
>no-op: the device is already in D0 at run-time, so that's silly.
>
>In any case: this is not a driver bug, but really (unfortunately) a
>platform issue, so
>this fix is not suitable for general cases *at all*, and we'd have to
>validate this
>nasty workaround on all other chipsets that e1000 supports too, something
>that ain't
>going to happen I'm sure.
Anyway, both patches are rather ugly, and will become even uglier with
checks for particular platform and system_state. I wish BIOS engineers fix
it 'the right way'.
Aleks
>
>constructive: I've just spend some time working with
>e100+suspend+shutdown+netconsole,
>so I'll audit e1000 for that in the next few weeks and make sure that all
>works
>properly. Perhaps that yields something for you.
>
>Cheers,
>
>Auke
next prev parent reply other threads:[~2006-10-17 22:13 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-13 21:40 Machine restart doesn't work - Intel 965G, 2.6.19-rc2 Aleksey Gorelov
2006-10-13 21:42 ` Ryan Richter
2006-10-13 21:45 ` Lukas Hejtmanek
2006-10-13 21:46 ` Ryan Richter
2006-10-13 21:49 ` Lukas Hejtmanek
2006-10-13 21:51 ` Ryan Richter
2006-10-17 18:00 ` Ryan Richter
2006-10-17 20:53 ` Aleksey Gorelov
2006-10-17 21:17 ` Machine restart doesn't work - Intel 965G, 2.6.19-rc2 / e1000? Auke Kok
2006-10-17 22:14 ` dared1st [this message]
2007-11-20 14:38 ` e1000 driver problems Lukas Hejtmanek
2007-11-26 23:26 ` Kok, Auke
2007-11-27 15:07 ` Lukas Hejtmanek
2007-11-27 16:48 ` Kok, Auke
2007-11-27 17:31 ` Lukas Hejtmanek
2007-11-27 17:40 ` Kok, Auke
2007-11-27 17:44 ` Lukas Hejtmanek
2007-11-27 18:23 ` Kok, Auke
2007-12-03 9:50 ` Lukas Hejtmanek
2007-12-03 15:20 ` Kok, Auke
2007-12-04 15:03 ` Lukas Hejtmanek
2007-12-04 15:34 ` Lukas Hejtmanek
2007-12-04 16:02 ` Matt Mathis
2007-12-04 17:08 ` Lukas Hejtmanek
2007-12-04 17:19 ` Kok, Auke
2007-12-04 18:05 ` Rick Jones
2007-12-04 19:59 ` Lukas Hejtmanek
2007-12-04 20:38 ` Kok, Auke
2007-12-18 11:08 ` Lukas Hejtmanek
2006-10-17 22:27 ` Machine restart doesn't work - Intel 965G, 2.6.19-rc2 Ryan Richter
2006-10-20 17:57 ` Auke Kok
2006-10-20 18:06 ` Lukas Hejtmanek
2006-10-21 17:34 ` Ryan Richter
2006-10-21 17:56 ` Auke Kok
2006-10-20 18:07 ` Ryan Richter
2006-10-20 18:17 ` Auke Kok
2006-10-20 18:29 ` Lukas Hejtmanek
2006-10-23 20:52 ` Aleksey Gorelov
2006-10-13 21:50 ` Aleksey Gorelov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000601c6f239$8fd61ef0$3d3d7a86@dareddesktop' \
--to=dared1st@sbcglobal.net \
--cc=auke-jan.h.kok@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=john.ronciak@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ryan@tau.solarneutrino.net \
--cc=xhejtman@mail.muni.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.