diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 8c351f193..f7db37243 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -4432,7 +4432,8 @@ static int vdev_sysfs_process_get_filename(struct scst_sysfs_work_item *work) * under scst_vdisk_mutex. */ while (!mutex_trylock(&scst_vdisk_mutex)) { - if ((volatile bool)(dev->dev_unregistering)) { + smp_mb(); + if (dev->dev_unregistering) { TRACE_MGMT_DBG("Skipping being unregistered dev %s", dev->virt_name); res = -ENOENT;