linux-stable/drivers/scsi/elx
James Smart 450907424d scsi: elx: efct: Do not hold lock while calling fc_vport_terminate()
Smatch checker reported the following error:

  drivers/base/power/sysfs.c:833 dpm_sysfs_remove()
  warn: sleeping in atomic context

With a calling sequence of:

  efct_lio_npiv_drop_nport() <- disables preempt
  -> fc_vport_terminate()
     -> device_del()
        -> dpm_sysfs_remove()

Issue is efct_lio_npiv_drop_nport() is making the fc_vport_terminate() call
while holding a lock w/ ipl raised.

It is unnecessary to hold the lock over this call, shift where the lock is
taken.

Link: https://lore.kernel.org/r/20210907165225.10821-1-jsmart2021@gmail.com
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Co-developed-by: Ram Vegesna <ram.vegesna@broadcom.com>
Signed-off-by: Ram Vegesna <ram.vegesna@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-09-13 22:15:46 -04:00
..
efct scsi: elx: efct: Do not hold lock while calling fc_vport_terminate() 2021-09-13 22:15:46 -04:00
include scsi: elx: libefc_sli: Queue create/destroy/parse routines 2021-06-15 23:39:29 -04:00
libefc scsi: elx: efct: Fix void-pointer-to-enum-cast warning for efc_nport_topology 2021-09-13 22:15:40 -04:00
libefc_sli scsi: elx: libefc_sli: Fix ANDing with zero bit value 2021-06-22 21:07:30 -04:00
Kconfig scsi: elx: efct: Add Makefile and Kconfig for efct driver 2021-06-15 23:39:33 -04:00
Makefile scsi: elx: efct: Add Makefile and Kconfig for efct driver 2021-06-15 23:39:33 -04:00