Re: [PATCH 1/2] tty: serial: remove __init on pl011 console ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6 February 2013 19:52, Russell King - ARM Linux
<linux@xxxxxxxxxxxxxxxx> wrote:
> On Wed, Feb 06, 2013 at 07:47:14PM +0800, Haojian Zhuang wrote:
>> If uart driver is probed defer, console_setup will be called later
>> after __init && __initdata sections destroyed. And amba_console isn't
>> defined in __init or __initdata section. So we needn't define
>> pl011_console_setup() && pl011_console_get_options() in __init section.
>
> It sounds like there's a deeper problem here - if this driver being
> deferred, why isn't it being retried after the pinctrl stuff gets
> its driver registered?
>
> We've had bugs in this deferred probing before, I wouldn't be surprised
> if there's more... and we should not be "fixing" drivers because of bugs
> elsewhere.

It retried if driver is being deferred. But those console setup
functions are released
since they're declared in __init section.

rest_init()
   --> creates kernel_init thread that could free __init section memory

deferred_probe_initicall() creates a workqueue that is used to retry
deferred probe
function.

I think that these two threads are competing.

Best Regards
Haojian
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux