diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index f97fbbb40..de9b46f46 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -2140,6 +2140,9 @@ static int srpt_enable_target(struct scst_tgt *scst_tgt, bool enable) EXTRACHECKS_WARN_ON_ONCE(irqs_disabled()); + if (!sdev) + return -ENOENT; + TRACE_DBG("%s target %s", enable ? "Enabling" : "Disabling", sdev->device->name); @@ -2160,6 +2163,9 @@ static bool srpt_is_target_enabled(struct scst_tgt *scst_tgt) EXTRACHECKS_WARN_ON_ONCE(irqs_disabled()); + if (!sdev) + return false; + spin_lock_irq(&sdev->spinlock); res = sdev->enabled; spin_unlock_irq(&sdev->spinlock);