summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxlflash/lunmgt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/cxlflash/lunmgt.c')
-rw-r--r--drivers/scsi/cxlflash/lunmgt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/cxlflash/lunmgt.c b/drivers/scsi/cxlflash/lunmgt.c
index a0923cade6f3..6c318db90c85 100644
--- a/drivers/scsi/cxlflash/lunmgt.c
+++ b/drivers/scsi/cxlflash/lunmgt.c
@@ -254,8 +254,14 @@ int cxlflash_manage_lun(struct scsi_device *sdev,
if (lli->parent->mode != MODE_NONE)
rc = -EBUSY;
else {
+ /*
+ * Clean up local LUN for this port and reset table
+ * tracking when no more references exist.
+ */
sdev->hostdata = NULL;
lli->port_sel &= ~CHAN2PORT(chan);
+ if (lli->port_sel == 0U)
+ lli->in_table = false;
}
}