diff --git a/src/amd/navi10.c b/src/amd/navi10.c index d2c74ed..fdd459c 100644 --- a/src/amd/navi10.c +++ b/src/amd/navi10.c @@ -61,10 +61,10 @@ static int navi10_needs_reset(struct vendor_reset_dev *dev, enum navi10_reset_ty smu_resp, sol, mp1_intr ? "yes" : "no", psp_bl_ready ? "yes" : "no"); - if (sol == 0x0 && !mp1_intr && psp_bl_ready) + if (!sol && !mp1_intr && psp_bl_ready) /* okay, if we're in this state, we're probably reset */ *type = NAVI10_RESET_NONE; - else if (sol && sol != ~1L && mp1_intr && psp_bl_ready) + else if (sol && sol != ~1L && smu_resp != 0 && mp1_intr && psp_bl_ready) *type = NAVI10_RESET_BACO; else *type = NAVI10_RESET_MODE1; @@ -233,7 +233,7 @@ static int amd_navi10_reset(struct vendor_reset_dev *dev) if (!navi10_needs_reset(dev, &reset_type)) goto free_adev; - if (reset_type == NAVI10_RESET_MODE1) + if (reset_type == NAVI10_RESET_BACO) ret = navi10_baco_reset(dev); else {