diff options
author | Hannes Reinecke <hare@suse.de> | 2016-05-24 09:11:58 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-07-13 06:16:31 +0300 |
commit | baa6719f902af9c03e528b08dfb847de295b5137 (patch) | |
tree | 8ac928054932e15da8feaa5a60b7385ab0787958 /drivers/scsi/scsi_debug.c | |
parent | 7e1ee4412ca35b17e21159d85224e37e8f259311 (diff) | |
download | linux-baa6719f902af9c03e528b08dfb847de295b5137.tar.xz |
libfc: Update rport reference counting
Originally libfc would just be initializing the refcount to '1', and
using the disc_mutex to synchronize if and when the final put should be
happening. This has a race condition as the mutex might be delayed,
causing other threads to access an invalid structure. This patch
updates the rport reference counting to increase the reference every
time 'rport_lookup' is called, and decreases the reference
correspondingly. This removes the need to hold 'disc_mutex' when
removing the structure, and avoids the above race condition.
Signed-off-by: Hannes Reinecke <hare@suse.com>
Acked-by: Vasu Dev <vasu.dev@intel.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_debug.c')
0 files changed, 0 insertions, 0 deletions