* [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall @ 2015-05-22 2:07 Lu Baolu 2015-05-22 3:09 ` David Cohen 0 siblings, 1 reply; 8+ messages in thread From: Lu Baolu @ 2015-05-22 2:07 UTC (permalink / raw) To: Heikki Krogerus, Greg Kroah-Hartman Cc: David Cohen, linux-usb, linux-kernel, qiuxu.zhuo, Lu Baolu Many drivers and modules depend on ULPI bus registeration to register ULPI interfaces and drivers. It's more appropriate to register ULPI bus in subsys_initcall instead of module_init. Kernel panic has been reported with some kind of kernel config. [0.746856] kernel BUG at drivers/base/driver.c:153! [0.752418] invalid opcode: 0000 [#1] PREEMPT SMP [0.757804] Modules linked in: [0.893985] Call Trace: [0.896729] [<ffffffff81870cb1>] ? ulpi_register_driver+0x21/0x30 [0.903654] [<ffffffff823d5cac>] tusb1210_driver_init+0x10/0x12 [0.910386] [<ffffffff81000318>] do_one_initcall+0xd8/0x200 [0.916729] [<ffffffff8239b094>] kernel_init_freeable+0x196/0x21e [0.923655] [<ffffffff81affed0>] ? rest_init+0x90/0x90 [0.929509] [<ffffffff81affede>] kernel_init+0xe/0xf0 [0.935266] [<ffffffff81b0f442>] ret_from_fork+0x42/0x70 [0.941315] [<ffffffff81affed0>] ? rest_init+0x90/0x90 This patch fixes this kind of kernel panic by putting ulpi_init in subsys_initcall(). Reported-by: Zhuo Qiuxu <qiuxu.zhuo@intel.com> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> --- drivers/usb/common/ulpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c index 0e6f968..01c0c04 100644 --- a/drivers/usb/common/ulpi.c +++ b/drivers/usb/common/ulpi.c @@ -242,7 +242,7 @@ static int __init ulpi_init(void) { return bus_register(&ulpi_bus); } -module_init(ulpi_init); +subsys_initcall(ulpi_init); static void __exit ulpi_exit(void) { -- 2.1.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 2:07 [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall Lu Baolu @ 2015-05-22 3:09 ` David Cohen 2015-05-22 3:11 ` David Cohen 0 siblings, 1 reply; 8+ messages in thread From: David Cohen @ 2015-05-22 3:09 UTC (permalink / raw) To: Lu Baolu Cc: Heikki Krogerus, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo Hi, On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: > Many drivers and modules depend on ULPI bus registeration to > register ULPI interfaces and drivers. It's more appropriate > to register ULPI bus in subsys_initcall instead of module_init. > > Kernel panic has been reported with some kind of kernel config. Even though I agree subsys_initcall is better to register ulpi bus, it's still no excuse to have kernel panic. What about ULPI bus being compiled as module? IMHO this is avoiding the proper kernel panic fix which should be failing gracefully (or defer probe) from tusb1210 driver. Br, David ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 3:09 ` David Cohen @ 2015-05-22 3:11 ` David Cohen 2015-05-22 6:46 ` Lu, Baolu 2015-05-24 16:25 ` Greg Kroah-Hartman 0 siblings, 2 replies; 8+ messages in thread From: David Cohen @ 2015-05-22 3:11 UTC (permalink / raw) To: Lu Baolu Cc: Heikki Krogerus, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo On Thu, May 21, 2015 at 08:09:54PM -0700, David Cohen wrote: > Hi, > > On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: > > Many drivers and modules depend on ULPI bus registeration to > > register ULPI interfaces and drivers. It's more appropriate > > to register ULPI bus in subsys_initcall instead of module_init. > > > > Kernel panic has been reported with some kind of kernel config. > > Even though I agree subsys_initcall is better to register ulpi bus, it's > still no excuse to have kernel panic. What about ULPI bus being compiled > as module? > IMHO this is avoiding the proper kernel panic fix which should be > failing gracefully (or defer probe) from tusb1210 driver. Maybe I need to express myself better :) IMHO we should not consider work done with this patch only. It's still incomplete. Br, David ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 3:11 ` David Cohen @ 2015-05-22 6:46 ` Lu, Baolu 2015-05-22 7:50 ` Lu, Baolu 2015-05-22 10:07 ` Heikki Krogerus 2015-05-24 16:25 ` Greg Kroah-Hartman 1 sibling, 2 replies; 8+ messages in thread From: Lu, Baolu @ 2015-05-22 6:46 UTC (permalink / raw) To: David Cohen Cc: Heikki Krogerus, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo On 05/22/2015 11:11 AM, David Cohen wrote: > On Thu, May 21, 2015 at 08:09:54PM -0700, David Cohen wrote: >> Hi, >> >> On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: >>> Many drivers and modules depend on ULPI bus registeration to >>> register ULPI interfaces and drivers. It's more appropriate >>> to register ULPI bus in subsys_initcall instead of module_init. >>> >>> Kernel panic has been reported with some kind of kernel config. >> Even though I agree subsys_initcall is better to register ulpi bus, it's >> still no excuse to have kernel panic. What about ULPI bus being compiled >> as module? No kernel panic if ULPI is built as a module. >> IMHO this is avoiding the proper kernel panic fix which should be >> failing gracefully (or defer probe) from tusb1210 driver. > Maybe I need to express myself better :) > IMHO we should not consider work done with this patch only. It's still > incomplete. I am with you on that we should know the real problem. I could go ahead with further debugging. Do you have any suggestions about which direction should I go? > > Br, David Thank you, -Baolu > -- > 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/ > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 6:46 ` Lu, Baolu @ 2015-05-22 7:50 ` Lu, Baolu 2015-05-22 16:12 ` David Cohen 2015-05-22 10:07 ` Heikki Krogerus 1 sibling, 1 reply; 8+ messages in thread From: Lu, Baolu @ 2015-05-22 7:50 UTC (permalink / raw) To: David Cohen Cc: Heikki Krogerus, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo On 05/22/2015 02:46 PM, Lu, Baolu wrote: > > > On 05/22/2015 11:11 AM, David Cohen wrote: >> On Thu, May 21, 2015 at 08:09:54PM -0700, David Cohen wrote: >>> Hi, >>> >>> On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: >>>> Many drivers and modules depend on ULPI bus registeration to >>>> register ULPI interfaces and drivers. It's more appropriate >>>> to register ULPI bus in subsys_initcall instead of module_init. >>>> >>>> Kernel panic has been reported with some kind of kernel config. >>> Even though I agree subsys_initcall is better to register ulpi bus, >>> it's >>> still no excuse to have kernel panic. What about ULPI bus being >>> compiled >>> as module? > > No kernel panic if ULPI is built as a module. > >>> IMHO this is avoiding the proper kernel panic fix which should be >>> failing gracefully (or defer probe) from tusb1210 driver. >> Maybe I need to express myself better :) >> IMHO we should not consider work done with this patch only. It's still >> incomplete. > > I am with you on that we should know the real problem. > > I could go ahead with further debugging. Do you have any suggestions > about which direction should I go? I forgot to mention that the panic was found in an Android environment. The kernel version is v4.1-rc3. > >> >> Br, David > > Thank you, > -Baolu > >> -- >> 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/ >> >> > > -- > 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/ > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 7:50 ` Lu, Baolu @ 2015-05-22 16:12 ` David Cohen 0 siblings, 0 replies; 8+ messages in thread From: David Cohen @ 2015-05-22 16:12 UTC (permalink / raw) To: Lu, Baolu Cc: Heikki Krogerus, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo On Fri, May 22, 2015 at 03:50:47PM +0800, Lu, Baolu wrote: > > > On 05/22/2015 02:46 PM, Lu, Baolu wrote: > > > > > >On 05/22/2015 11:11 AM, David Cohen wrote: > >>On Thu, May 21, 2015 at 08:09:54PM -0700, David Cohen wrote: > >>>Hi, > >>> > >>>On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: > >>>>Many drivers and modules depend on ULPI bus registeration to > >>>>register ULPI interfaces and drivers. It's more appropriate > >>>>to register ULPI bus in subsys_initcall instead of module_init. > >>>> > >>>>Kernel panic has been reported with some kind of kernel config. > >>>Even though I agree subsys_initcall is better to register ulpi bus, > >>>it's > >>>still no excuse to have kernel panic. What about ULPI bus being > >>>compiled > >>>as module? > > > >No kernel panic if ULPI is built as a module. > > > >>>IMHO this is avoiding the proper kernel panic fix which should be > >>>failing gracefully (or defer probe) from tusb1210 driver. > >>Maybe I need to express myself better :) > >>IMHO we should not consider work done with this patch only. It's still > >>incomplete. > > > >I am with you on that we should know the real problem. > > > >I could go ahead with further debugging. Do you have any suggestions > >about which direction should I go? > > I forgot to mention that the panic was found in an Android environment. > The kernel version is v4.1-rc3. FWIW: The problem with Android environment is the amount of off-tree patches you may have over there. For upstream tasks, I'd suggest use a clean tree + patches you want to test. Usually yocto looks more friendly to test under this environment. Br, David > > > > >> > >>Br, David > > > >Thank you, > >-Baolu > > > >>-- > >>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/ > >> > >> > > > >-- > >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/ > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 6:46 ` Lu, Baolu 2015-05-22 7:50 ` Lu, Baolu @ 2015-05-22 10:07 ` Heikki Krogerus 1 sibling, 0 replies; 8+ messages in thread From: Heikki Krogerus @ 2015-05-22 10:07 UTC (permalink / raw) To: Lu, Baolu Cc: David Cohen, Greg Kroah-Hartman, linux-usb, linux-kernel, qiuxu.zhuo, Sasha Levin > >>>Many drivers and modules depend on ULPI bus registeration to > >>>register ULPI interfaces and drivers. It's more appropriate > >>>to register ULPI bus in subsys_initcall instead of module_init. > >>> > >>>Kernel panic has been reported with some kind of kernel config. > >>Even though I agree subsys_initcall is better to register ulpi bus, it's > >>still no excuse to have kernel panic. What about ULPI bus being compiled > >>as module? > > No kernel panic if ULPI is built as a module. > > >>IMHO this is avoiding the proper kernel panic fix which should be > >>failing gracefully (or defer probe) from tusb1210 driver. > >Maybe I need to express myself better :) > >IMHO we should not consider work done with this patch only. It's still > >incomplete. > > I am with you on that we should know the real problem. > > I could go ahead with further debugging. Do you have any suggestions > about which direction should I go? This patch does not address all the cases where the panic may occur, like the case where the bus itself fails register, while Sasha's patch does. For the panic, we'll use Sasha's patch. I though we were clear on this. This patch addresses an issue with the load order. Even with the panic fixed, we still may end up loading the drivers depending on the bus, i.e. ulpi phy drivers or the ulpi interface providers, before the bus. That is a different issue, but we need to fix it as well. To fix the panic, you can already pick Sasha's patch titled: "usb: ulpi: don't register drivers if bus doesn't exist" Baolu, please fix the commit message to explain this patch is fixing the problem with the load order. Thanks, -- heikki ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall 2015-05-22 3:11 ` David Cohen 2015-05-22 6:46 ` Lu, Baolu @ 2015-05-24 16:25 ` Greg Kroah-Hartman 1 sibling, 0 replies; 8+ messages in thread From: Greg Kroah-Hartman @ 2015-05-24 16:25 UTC (permalink / raw) To: David Cohen Cc: Lu Baolu, Heikki Krogerus, linux-usb, linux-kernel, qiuxu.zhuo On Thu, May 21, 2015 at 08:11:27PM -0700, David Cohen wrote: > On Thu, May 21, 2015 at 08:09:54PM -0700, David Cohen wrote: > > Hi, > > > > On Fri, May 22, 2015 at 10:07:05AM +0800, Lu Baolu wrote: > > > Many drivers and modules depend on ULPI bus registeration to > > > register ULPI interfaces and drivers. It's more appropriate > > > to register ULPI bus in subsys_initcall instead of module_init. > > > > > > Kernel panic has been reported with some kind of kernel config. > > > > Even though I agree subsys_initcall is better to register ulpi bus, it's > > still no excuse to have kernel panic. What about ULPI bus being compiled > > as module? > > IMHO this is avoiding the proper kernel panic fix which should be > > failing gracefully (or defer probe) from tusb1210 driver. > > Maybe I need to express myself better :) > IMHO we should not consider work done with this patch only. It's still > incomplete. Then please fix it properly, this is not the correct solution. greg k-h ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-05-24 16:25 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-22 2:07 [PATCH v2 1/1] usb: ulpi: ulpi_init should be executed in subsys_initcall Lu Baolu 2015-05-22 3:09 ` David Cohen 2015-05-22 3:11 ` David Cohen 2015-05-22 6:46 ` Lu, Baolu 2015-05-22 7:50 ` Lu, Baolu 2015-05-22 16:12 ` David Cohen 2015-05-22 10:07 ` Heikki Krogerus 2015-05-24 16:25 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox