summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/sunmdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/os/sunmdi.c')
-rw-r--r--usr/src/uts/common/os/sunmdi.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/usr/src/uts/common/os/sunmdi.c b/usr/src/uts/common/os/sunmdi.c
index 0905a0852b..0cdfd30392 100644
--- a/usr/src/uts/common/os/sunmdi.c
+++ b/usr/src/uts/common/os/sunmdi.c
@@ -3245,13 +3245,13 @@ mdi_pi_free(mdi_pathinfo_t *pip, int flags)
MDI_CLIENT_LOCK(ct);
MDI_CLIENT_CLEAR_PATH_FREE_IN_PROGRESS(ct);
+ rv = MDI_SUCCESS;
if (!MDI_PI_IS_INITING(pip)) {
f = vh->vh_ops->vo_pi_uninit;
if (f != NULL) {
rv = (*f)(vh->vh_dip, pip, 0);
}
- } else
- rv = MDI_SUCCESS;
+ }
/*
* If vo_pi_uninit() completed successfully.
@@ -3895,6 +3895,7 @@ i_mdi_pi_offline(mdi_pathinfo_t *pip, int flags)
ASSERT(vh->vh_ops);
f = vh->vh_ops->vo_pi_state_change;
+ rv = MDI_SUCCESS;
if (f != NULL) {
MDI_PI_UNLOCK(pip);
if ((rv = (*f)(vdip, pip, MDI_PATHINFO_STATE_OFFLINE, 0,
@@ -3996,9 +3997,9 @@ i_mdi_pi_online(mdi_pathinfo_t *pip, int flags)
MDI_PI_SET_ONLINING(pip)
MDI_PI_UNLOCK(pip);
f = vh->vh_ops->vo_pi_state_change;
+ rv = MDI_SUCCESS;
if (f != NULL)
- rv = (*f)(vh->vh_dip, pip, MDI_PATHINFO_STATE_ONLINE, 0,
- flags);
+ rv = (*f)(vh->vh_dip, pip, MDI_PATHINFO_STATE_ONLINE, 0, flags);
MDI_CLIENT_LOCK(ct);
MDI_PI_LOCK(pip);
cv_broadcast(&MDI_PI(pip)->pi_state_cv);
@@ -4006,7 +4007,6 @@ i_mdi_pi_online(mdi_pathinfo_t *pip, int flags)
if (rv == MDI_SUCCESS) {
dev_info_t *cdip = ct->ct_dip;
- rv = MDI_SUCCESS;
i_mdi_client_update_state(ct);
if (MDI_CLIENT_STATE(ct) == MDI_CLIENT_STATE_OPTIMAL ||
MDI_CLIENT_STATE(ct) == MDI_CLIENT_STATE_DEGRADED) {
@@ -6300,6 +6300,7 @@ i_mdi_enable_disable_path(mdi_pathinfo_t *pip, mdi_vhci_t *vh, int flags,
* Do a callback into the mdi consumer to let it
* know that path is about to get enabled/disabled.
*/
+ rv = MDI_SUCCESS;
if (f != NULL) {
rv = (*f)(vh->vh_dip, pip, 0,
MDI_PI_EXT_STATE(pip),