scsi: scsi_transport_fc: Allow setting rport state to current state
BugLink: https://bugs.launchpad.net/bugs/2099996 [ Upstream commit d539a871ae47a1f27a609a62e06093fa69d7ce99 ] The only input fc_rport_set_marginal_state() currently accepts is "Marginal" when port_state is "Online", and "Online" when the port_state is "Marginal". It should also allow setting port_state to its current state, either "Marginal or "Online". Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Link: https://lore.kernel.org/r/20240917230643.966768-1-bmarzins@redhat.com Reviewed-by: Ewan D. Milne <emilne@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Koichiro Den <koichiro.den@canonical.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
8c99b89d7d
commit
81673676b4
@@ -1255,7 +1255,7 @@ static ssize_t fc_rport_set_marginal_state(struct device *dev,
|
||||
*/
|
||||
if (rport->port_state == FC_PORTSTATE_ONLINE)
|
||||
rport->port_state = port_state;
|
||||
else
|
||||
else if (port_state != rport->port_state)
|
||||
return -EINVAL;
|
||||
} else if (port_state == FC_PORTSTATE_ONLINE) {
|
||||
/*
|
||||
@@ -1265,7 +1265,7 @@ static ssize_t fc_rport_set_marginal_state(struct device *dev,
|
||||
*/
|
||||
if (rport->port_state == FC_PORTSTATE_MARGINAL)
|
||||
rport->port_state = port_state;
|
||||
else
|
||||
else if (port_state != rport->port_state)
|
||||
return -EINVAL;
|
||||
} else
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user