1. 29 Jul, 2020 1 commit
    • Clark Wang's avatar
      spi: lpspi: Fix kernel warning dump when probe fail after calling spi_register · 16d79185
      Clark Wang authored
      Calling devm_spi_register_controller() too early will cause problem.
      When probe failed occurs after calling devm_spi_register_controller(),
      the call of spi_controller_put() will trigger the following warning dump.
      
      [    2.092138] ------------[ cut here ]------------
      [    2.096876] kernfs: can not remove 'uevent', no directory
      [    2.102440] WARNING: CPU: 0 PID: 181 at fs/kernfs/dir.c:1503 kernfs_remove_by_name_ns+0xa0/0xb0
      [    2.111142] Modules linked in:
      [    2.114207] CPU: 0 PID: 181 Comm: kworker/0:7 Not tainted 5.4.24-05024-g775c6e8a738c-dirty #1314
      [    2.122991] Hardware name: Freescale i.MX8DXL EVK (DT)
      [    2.128141] Workqueue: events deferred_probe_work_func
      [    2.133281] pstate: 60000005 (nZCv daif -PAN -UAO)
      [    2.138076] pc : kernfs_remove_by_name_ns+0xa0/0xb0
      [    2.142958] lr : kernfs_remove_by_name_ns+0xa0/0xb0
      [    2.147837] sp : ffff8000122bba70
      [    2.151145] x29: ffff8000122bba70 x28: ffff8000119d6000
      [    2.156462] x27: 0000000000000000 x26: ffff800011edbce8
      [    2.161779] x25: 0000000000000000 x24: ffff00003ae4f700
      [    2.167096] x23: ffff000010184c10 x22: ffff00003a3d6200
      [    2.172412] x21: ffff800011a464a8 x20: ffff000010126a68
      [    2.177729] x19: ffff00003ae5c800 x18: 000000000000000e
      [    2.183046] x17: 0000000000000001 x16: 0000000000000019
      [    2.188362] x15: 0000000000000004 x14: 000000000000004c
      [    2.193679] x13: 0000000000000000 x12: 0000000000000001
      [    2.198996] x11: 0000000000000000 x10: 00000000000009c0
      [    2.204313] x9 : ffff8000122bb7a0 x8 : ffff00003a3d6c20
      [    2.209630] x7 : ffff00003a3d6380 x6 : 0000000000000001
      [    2.214946] x5 : 0000000000000001 x4 : ffff00003a05eb18
      [    2.220263] x3 : 0000000000000005 x2 : ffff8000119f1c48
      [    2.225580] x1 : 2bcbda323bf5a800 x0 : 0000000000000000
      [    2.230898] Call trace:
      [    2.233345]  kernfs_remove_by_name_ns+0xa0/0xb0
      [    2.237879]  sysfs_remove_file_ns+0x14/0x20
      [    2.242065]  device_del+0x12c/0x348
      [    2.245555]  device_unregister+0x14/0x30
      [    2.249492]  spi_unregister_controller+0xac/0x120
      [    2.254201]  devm_spi_unregister+0x10/0x18
      [    2.258304]  release_nodes+0x1a8/0x220
      [    2.262055]  devres_release_all+0x34/0x58
      [    2.266069]  really_probe+0x1b8/0x318
      [    2.269733]  driver_probe_device+0x54/0xe8
      [    2.273833]  __device_attach_driver+0x80/0xb8
      [    2.278194]  bus_for_each_drv+0x74/0xc0
      [    2.282034]  __device_attach+0xdc/0x138
      [    2.285876]  device_initial_probe+0x10/0x18
      [    2.290063]  bus_probe_device+0x90/0x98
      [    2.293901]  deferred_probe_work_func+0x64/0x98
      [    2.298442]  process_one_work+0x198/0x320
      [    2.302451]  worker_thread+0x1f0/0x420
      [    2.306208]  kthread+0xf0/0x120
      [    2.309352]  ret_from_fork+0x10/0x18
      [    2.312927] ---[ end trace 58abcdfae01bd3c7 ]---
      
      So put this function at the end of the probe sequence.
      Signed-off-by: default avatarClark Wang <xiaoning.wang@nxp.com>
      Link: https://lore.kernel.org/r/20200727031448.31661-2-xiaoning.wang@nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      16d79185
  2. 28 Jul, 2020 5 commits
  3. 27 Jul, 2020 3 commits
  4. 22 Jul, 2020 14 commits
  5. 17 Jul, 2020 16 commits
  6. 16 Jul, 2020 1 commit