Re: [PATCH 0/2] can: m_can_platform: Bug fix of kernel panic for

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

 



On 11/19/19 11:20 AM, Pankaj Sharma wrote:
> The current code is failing while clock prepare enable because of not
> getting proper clock from platform device. 
> 
> [    0.852089] Call trace:
> [    0.854516]  0xffff0000fa22a668
> [    0.857638]  clk_prepare+0x20/0x34
> [    0.861019]  m_can_runtime_resume+0x2c/0xe4
> [    0.865180]  pm_generic_runtime_resume+0x28/0x38
> [    0.869770]  __rpm_callback+0x16c/0x1bc
> [    0.873583]  rpm_callback+0x24/0x78
> [    0.877050]  rpm_resume+0x428/0x560
> [    0.880517]  __pm_runtime_resume+0x7c/0xa8
> [    0.884593]  m_can_clk_start.isra.9.part.10+0x1c/0xa8
> [    0.889618]  m_can_class_register+0x138/0x370
> [    0.893950]  m_can_plat_probe+0x120/0x170
> [    0.897939]  platform_drv_probe+0x4c/0xa0
> [    0.901924]  really_probe+0xd8/0x31c
> [    0.905477]  driver_probe_device+0x58/0xe8
> [    0.909551]  device_driver_attach+0x68/0x70
> [    0.913711]  __driver_attach+0x9c/0xf8
> [    0.917437]  bus_for_each_dev+0x50/0xa0
> [    0.921251]  driver_attach+0x20/0x28
> [    0.924804]  bus_add_driver+0x148/0x1fc
> [    0.928617]  driver_register+0x6c/0x124
> [    0.932431]  __platform_driver_register+0x48/0x50
> [    0.937113]  m_can_plat_driver_init+0x18/0x20
> [    0.941446]  do_one_initcall+0x4c/0x19c
> [    0.945259]  kernel_init_freeable+0x1d0/0x280
> [    0.949591]  kernel_init+0x10/0x100
> [    0.953057]  ret_from_fork+0x10/0x18
> [    0.956614] Code: 00000000 00000000 00000000 00000000 (fa22a668) 
> [    0.962681] ---[ end trace 881f71bd609de763 ]---
> [    0.967301] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
> 
> A device driver for CAN controller hardware registers itself with the
> Linux network layer as a network device. So, the driver data for m_can
> should ideally be of type net_device. 
> 
> Further even when passing the proper net device in probe function the
> code was hanging because of the function m_can_runtime_resume() getting
> recursively called from m_can_class_resume().
> 
> Pankaj Sharma (2):
>   can: m_can_platform: set net_device structure as driver data
>   can: m_can_platform: remove unnecessary m_can_class_resume() call

For the m_can driver I'm looking for a maintainer. Would be fine if
someone has a look at the mmio and someone else at the spi part.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux