linux_dsm_epyc7002/drivers/net/can
Pankaj Sharma 2ea872490e can: m_can_platform: set net_device structure as driver data
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: f524f829b7 ("can: m_can: Create a m_can platform framework")
Signed-off-by: Pankaj Sharma <pankj.sharma@samsung.com>
Signed-off-by: Sriram Dash <sriram.dash@samsung.com>
Acked-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2019-11-22 15:32:32 +01:00
..
c_can can: c_can: C_CAN: add bus recovery events 2019-11-04 21:47:21 +01:00
cc770 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 495 2019-06-19 17:09:52 +02:00
ifi_canfd treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
m_can can: m_can_platform: set net_device structure as driver data 2019-11-22 15:32:32 +01:00
mscan treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 344 2019-06-05 17:37:07 +02:00
peak_canfd can: mark expected switch fall-throughs 2019-07-25 20:09:42 -05:00
rcar can: rcar_can: Remove unused platform data support 2019-08-20 13:41:25 +02:00
sja1000 can: peak_pci: Make structure peak_pciec_i2c_bit_ops constant 2019-08-20 13:41:25 +02:00
softing net/can: using dev_get_drvdata directly 2019-07-05 15:24:41 -07:00
spi can: mcp251x: mcp251x_restart_work_handler(): Fix potential force_quit race condition 2019-11-05 12:44:22 +01:00
usb can: peak_usb: report bus recovery as well 2019-11-04 21:47:20 +01:00
at91_can.c can: mark expected switch fall-throughs 2019-07-25 20:09:42 -05:00
dev.c can: dev: add missing of_node_put() after calling of_get_child_by_name() 2019-11-04 21:47:20 +01:00
flexcan.c can: flexcan: increase error counters if skb enqueueing via can_rx_offload_queue_sorted() fails 2019-11-04 21:47:22 +01:00
grcan.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
janz-ican3.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
Kconfig can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices 2019-07-24 10:31:53 +02:00
kvaser_pciefd.c can: kvaser_pciefd: the PWM generator is running at the bus frequency of the system. 2019-09-03 10:23:57 +02:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices 2019-07-24 10:31:53 +02:00
pch_can.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
rx-offload.c can: rx-offload: can_rx_offload_irq_offload_fifo(): continue on error 2019-11-04 21:47:22 +01:00
slcan.c slcan: Fix memory leak in error path 2019-11-14 10:38:30 +01:00
sun4i_can.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
ti_hecc.c can: ti_hecc: add missing state changes 2019-11-04 21:47:23 +01:00
vcan.c can: make use of preallocated can_ml_priv for per device struct can_dev_rcv_lists 2019-09-04 13:29:15 +02:00
vxcan.c can: make use of preallocated can_ml_priv for per device struct can_dev_rcv_lists 2019-09-04 13:29:15 +02:00
xilinx_can.c can: xilinx_can: Fix flags field initialization for axi can 2019-11-04 21:47:21 +01:00