From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Pavel Machek <pavel@ucw.cz>,
linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org
Subject: Re: [patch] properly stop devices before poweroff
Date: Mon, 02 May 2005 04:09:08 +0900 [thread overview]
Message-ID: <42752954.5050600@jp.fujitsu.com> (raw)
In-Reply-To: <20050429061825.36f98cc0.akpm@osdl.org>
Hi,
Andrew Morton wrote:
> Pavel Machek <pavel@ucw.cz> wrote:
>
>>
>>Without this patch, Linux provokes emergency disk shutdowns and
>>similar nastiness. It was in SuSE kernels for some time, IIRC.
>>
>
>
> With this patch when running `halt -p' my ia64 Tiger (using
> tiger_defconfig) gets a stream of badnesses in iosapic_unregister_intr()
> and then hangs up.
>
> Unfortunately it all seems to happen after the serial port has been
> disabled because nothing comes out. I set the console to a squitty font
> and took a piccy. See
> http://www.zip.com.au/~akpm/linux/patches/stuff/dsc02505.jpg
>
> I guess it's an ia64 problem. I'll leave the patch in -mm for now.
>
I guess the stream of badness was occured as follows:
pcibios_disable_device() for ia64 assumes that pci_enable_device()
and pci_disable_device() are balanced. But with 'properly stop
devices before power off' patch, pci_disable_device() becomes to be
called twice for e1000 device at halt time, through reboot_notifier_list
callback and through device_suspend(). As a result, iosapic_unregister_intr()
was called for already unregistered gsi and then stream of badness
was displayed.
I think the following patch will remove this stream of badness. I'm
sorry but I have not checked if the stream of badness is actually
removed because I'm on vacation and I can't look at my display
(I'm working via remote console). Could you try this patch?
By the way, I don't think this stream of badness is related to hang up,
because the problem (hang up) was reproduced even on my test kernel that
doesn't call pcibios_disable_device().
Thanks,
Kenji Kaneshige
---
There might be some cases that pci_disable_device() is called even if
the device is already disabled. In this case, pcibios_disable_device()
should not call acpi_pci_irq_disable() for the device.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
---
linux-2.6.12-rc3-mm2-kanesige/arch/ia64/pci/pci.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)
diff -puN arch/ia64/pci/pci.c~fix_pcibios_disable_device_ia64 arch/ia64/pci/pci.c
--- linux-2.6.12-rc3-mm2/arch/ia64/pci/pci.c~fix_pcibios_disable_device_ia64 2005-05-02 03:12:23.000000000 +0900
+++ linux-2.6.12-rc3-mm2-kanesige/arch/ia64/pci/pci.c 2005-05-02 03:12:23.000000000 +0900
@@ -512,7 +512,8 @@ pcibios_enable_device (struct pci_dev *d
void
pcibios_disable_device (struct pci_dev *dev)
{
- acpi_pci_irq_disable(dev);
+ if (dev->is_enabled)
+ acpi_pci_irq_disable(dev);
}
#endif /* CONFIG_ACPI_DEALLOCATE_IRQ */
_
next prev parent reply other threads:[~2005-05-01 19:09 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-21 11:13 [patch] properly stop devices before poweroff Pavel Machek
2005-04-29 13:18 ` Andrew Morton
2005-04-29 13:36 ` Zwane Mwaikambo
2005-04-30 9:47 ` Andrew Morton
2005-04-30 13:40 ` Pavel Machek
2005-05-01 19:09 ` Kenji Kaneshige [this message]
2005-05-01 19:57 ` Pavel Machek
2005-05-01 22:16 ` Adam Belay
2005-05-16 7:56 ` Andrew Morton
2005-05-19 12:43 ` Kenji Kaneshige
2005-05-01 22:24 ` Adam Belay
2005-05-01 23:16 ` Pavel Machek
2005-05-02 0:01 ` Adam Belay
2005-05-02 9:55 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2005-04-21 11:30 tvrtko.ursulin
2005-04-21 11:38 ` Pavel Machek
2005-04-21 15:02 tvrtko.ursulin
2005-07-26 19:02 Luck, Tony
2005-07-26 19:10 ` Andrew Morton
2005-07-27 0:14 ` tony.luck
2005-07-27 0:23 ` Andrew Morton
2005-07-27 7:40 ` Pavel Machek
2005-07-28 1:37 ` Kenji Kaneshige
2005-07-28 1:41 ` Andrew Morton
2005-07-27 21:14 Luck, Tony
[not found] <200506260105.j5Q15eBj021334@hera.kernel.org>
2005-08-01 15:19 ` [PATCH] " Olaf Hering
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=42752954.5050600@jp.fujitsu.com \
--to=kaneshige.kenji@jp.fujitsu.com \
--cc=akpm@osdl.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox