Signed-off-by: Michał Mirosław <[email protected]>
---
 .../gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c    | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c 
b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
index ffe3ce87d907..2e6dfe864306 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
@@ -141,12 +141,16 @@ int smu7_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t 
msg)
 
        ret = PHM_READ_FIELD(hwmgr->device, SMC_RESP_0, SMC_RESP);
 
-       if (ret == 0xFE)
+       switch (ret) {
+       case 1:
+               return 0;
+       case 0xFE:
                dev_dbg(adev->dev, "SMU message %#x was not supported\n", msg);
-       else if (ret != 1)
+               return -EOPNOTSUPP;
+       default:
                dev_info(adev->dev, "SMU message %#x failed: response is %d\n", 
msg, ret);
-
-       return 0;
+               return ret != 0xFFFF ? -EIO : -ENXIO;
+       }
 }
 
 int smu7_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, 
uint32_t parameter)
-- 
2.47.3

Reply via email to