[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A018A69.5030800@windriver.com>
Date: Wed, 06 May 2009 08:02:33 -0500
From: Jason Wessel <jason.wessel@...driver.com>
To: Ingo Molnar <mingo@...e.hu>
CC: greg@...ah.com, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/5] usb,early_printk: unregister early usb before rest_init()
Ingo Molnar wrote:
> * Jason Wessel <jason.wessel@...driver.com> wrote:
>
>> The early_printk EHCI debug driver can hang the system or cause
>> unpredictable results because two separate APIs will attempt to write
>> to the mapped PCI region.
[clip]
>> +postcore_initcall(usb_early_debug_cleanup);
>
> We already have CON_BOOT which allows the unregistering of early
> consoles, via disable_boot_consoles() initcall in kernel/printk.c.
>
> The hang should be solved differently: either by calling
> disable_boot_consoles() explicitly after console_init() - or by
> introducing another CON_ flag that marks the console for early
> forced unregistering.
I thought about adding another flag in console_init() such that an
early console which cannot safely be used can elect to unregister.
There are two problems with this.
1) We actually need a call back to unset ehci_debug, or the
console_unregister needs to set/clear a flag which then must be
checked on each early_printk write, else any further call laying
around for early_printk can crash the system.
2) Ideally you want to keep printk alive for as long as possible,
which means you can have it all the way through start_kernel()
before the "blackout period" while waiting for pci and usb init.
Given these two issues, is it your preference still to see a patch
that changes console_init or add another call back to start_kernel() ?
An earlier iteration of this patch added a call back in start_kernel
just before rest_init(), but it seemed like it was not needed since we
can hook on to part of the relevent function init chain.
I am open to fixing this in what ever manner is acceptable.
Cheers,
Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists