Messages in this thread | | | Date | Thu, 02 Aug 2007 17:18:10 -0700 | From | Yinghai Lu <> | Subject | Re: REGRESSION: serial_cs broken by 8250 changes |
| |
Andrew Morton wrote: > On Thu, 02 Aug 2007 16:24:42 -0700 > Yinghai Lu <Yinghai.Lu@Sun.COM> wrote: > >> Daniel Ritz wrote: >>> commit 18a8bd949d6adb311ea816125ff65050df1f3f6e breaks serial_cs badly >>> with an oops, completely killing PCMCIA. >>> >>> register_console() now calls console->early_setup(). which in case of >>> 8250.c (the only user anyway) is serial8250_console_early_setup() >>> which is __init, calling 8250_early.c:serial8250_find_port_for_earlycon() >>> which is __init as well. boom. >>> >>> the changelog mentions SERIAL_PORT_DFNS removal which happens to be >>> commit 7e92b4fc345f5b6f57585fbe5ffdb0f24d7c9b26. but this got reverted >>> by commit 57d4810ea0d9ca58a7bcc1336607f0cede0a2abf. so i'd suggest to >>> just revert the 8250 changes as well. >>> >>> rgds >>> -daniel >> Is there any flag or sign that init code has been released? > > Nope. > >> We could use that to prevent init code to be called after code is freed. > > If we can omit a function call without breaking anything then we shouldn't > have been calling that function at all ;) > > It sounds like making serial8250_console_early_setup() and > serial8250_find_port_for_earlycon() non-__init will fix this. >
yes, together update_console_cmdline in kernel/printk.c
Daniel, can you test that in your setup?
Thanks
Yinghai Lu - 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/
| |