firmware_loader: Only call cancel when upload is active
The cancel_store() function currently calls the firmware upload cancel operation even when no upload is in progress (i.e., when progress is FW_UPLOAD_PROG_IDLE). Update cancel_store() to only invoke the cancel operation when an upload is active. If the upload is idle, return -ENODEV without calling cancel. This change improves safety and correctness by ensuring driver operations are only called in valid states. Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com> Link: https://patch.msgid.link/20250925054129.2199157-1-kaushlendra.kumar@intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0242623384
commit
fe6193a318
@@ -100,8 +100,10 @@ static ssize_t cancel_store(struct device *dev, struct device_attribute *attr,
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&fwlp->lock);
|
||||
if (fwlp->progress == FW_UPLOAD_PROG_IDLE)
|
||||
ret = -ENODEV;
|
||||
if (fwlp->progress == FW_UPLOAD_PROG_IDLE) {
|
||||
mutex_unlock(&fwlp->lock);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
fwlp->ops->cancel(fwlp->fw_upload);
|
||||
mutex_unlock(&fwlp->lock);
|
||||
|
||||
Reference in New Issue
Block a user