lkml.org 
[lkml]   [2005]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] properly stop devices before poweroff
tony.luck@intel.com wrote:
>
> Andrew Morton wrote:
> > "Luck, Tony" <tony.luck@intel.com> wrote:
> > >
> > > I started on my OLS homework from Andrew ... and began looking
> > > into what is going on here.
> > >
> >
> > Thanks ;) I guess we'll end up with a better kernel, even though you appear
> > to be an innocent victim here.
>
> The "Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:851"
> messages are caused by a missing call to free_irq() in the mpt/fusion driver.
> I think that it should go here ... but someone with a clue should verify:
>
> diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
> --- a/drivers/message/fusion/mptbase.c
> +++ b/drivers/message/fusion/mptbase.c
> @@ -1384,6 +1384,8 @@ mpt_suspend(struct pci_dev *pdev, pm_mes
> /* Clear any lingering interrupt */
> CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
>
> + free_irq(ioc->pci_irq, ioc);
> +
> pci_disable_device(pdev);
> pci_set_power_state(pdev, device_state);
>

OK, great. Pavel, can you check this over please?

> But even this doesn't fix the hang during shutdown :-(
>
> The remaining problem is cause by the order of the calls in sys_reboot:
>
> device_suspend(PMSG_SUSPEND);
> device_shutdown();
>
> The call to device_suspend() shuts down the mpt/fusion driver. But then
> device_shutdown() calls sd_shutdown() which prints:
>
> Synchronizing SCSI cache for disk sdb
>
> and then calls sd_sync_cache(). Now since we suspended mpt/fusion, this is
> going to go nowhere.
>
> I don't know how to fix this. Re-ordering the suspend & shutdown just looks
> wrong.

Again, Pavel has been working on this code and might be able to suggest
something which is appropriate for 2.6.13...

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

\
 
 \ /
  Last update: 2005-07-27 02:30    [W:0.073 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site