• Pankaj Sharma's avatar
    can: m_can_platform: set net_device structure as driver data · 2ea87249
    Pankaj Sharma authored
    The current code is failing during 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!
    
    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.
    
    Fixes: f524f829 ("can: m_can: Create a m_can platform framework")
    Signed-off-by: default avatarPankaj Sharma <pankj.sharma@samsung.com>
    Signed-off-by: default avatarSriram Dash <sriram.dash@samsung.com>
    Acked-by: default avatarDan Murphy <dmurphy@ti.com>
    Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    2ea87249
m_can_platform.c 4.53 KB