mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State
commit f8fb3f3914
upstream.
If a controller reset is underway or the controller is in an unrecoverable
state, the PEL enable management command will be returned as EAGAIN or
EFAULT.
Cc: <stable@vger.kernel.org> # v6.1+
Co-developed-by: Sathya Prakash <sathya.prakash@broadcom.com>
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com>
Signed-off-by: Chandrakanth patil <chandrakanth.patil@broadcom.com>
Link: https://lore.kernel.org/r/20231126053134.10133-4-chandrakanth.patil@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fc6742c16b
commit
d37dbde711
1 changed files with 16 additions and 0 deletions
|
@ -223,6 +223,22 @@ static long mpi3mr_bsg_pel_enable(struct mpi3mr_ioc *mrioc,
|
|||
return rval;
|
||||
}
|
||||
|
||||
if (mrioc->unrecoverable) {
|
||||
dprint_bsg_err(mrioc, "%s: unrecoverable controller\n",
|
||||
__func__);
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (mrioc->reset_in_progress) {
|
||||
dprint_bsg_err(mrioc, "%s: reset in progress\n", __func__);
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
if (mrioc->stop_bsgs) {
|
||||
dprint_bsg_err(mrioc, "%s: bsgs are blocked\n", __func__);
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
sg_copy_to_buffer(job->request_payload.sg_list,
|
||||
job->request_payload.sg_cnt,
|
||||
&pel_enable, sizeof(pel_enable));
|
||||
|
|
Loading…
Reference in a new issue