@@ -844,12 +844,17 @@ def get_soc_pstates(self):
844844 for dev in device_handles :
845845 try :
846846 soc_pstate_info = amdsmi_interface .amdsmi_get_soc_pstate (dev )
847+ # Check if 'policies' key exists before accessing it
848+ if 'policies' in soc_pstate_info and soc_pstate_info ['policies' ]:
849+ for policy in soc_pstate_info ['policies' ]:
850+ policy_string = f"{ policy ['policy_id' ]} : { policy ['policy_description' ]} "
851+ if not policy_string in soc_pstate_profile_list :
852+ soc_pstate_profile_list .append (policy_string )
847853 except amdsmi_interface .AmdSmiLibraryException as e :
848854 continue
849- for policy in soc_pstate_info ['policies' ]:
850- policy_string = f"{ policy ['policy_id' ]} : { policy ['policy_description' ]} "
851- if not policy_string in soc_pstate_profile_list :
852- soc_pstate_profile_list .append (policy_string )
855+ except KeyError as e :
856+ logging .debug (f"AMDSMIHelpers.get_soc_pstates - Missing key in soc_pstate_info: { e } " )
857+ continue
853858 if len (soc_pstate_profile_list ) == 0 :
854859 soc_pstate_profile_list .append ("N/A" )
855860 return soc_pstate_profile_list
@@ -861,12 +866,17 @@ def get_xgmi_plpd_policies(self):
861866 for dev in device_handles :
862867 try :
863868 xgmi_plpd_info = amdsmi_interface .amdsmi_get_xgmi_plpd (dev )
869+ # Check if 'policies' key exists before accessing it
870+ if 'policies' in xgmi_plpd_info and xgmi_plpd_info ['policies' ]:
871+ for policy in xgmi_plpd_info ['policies' ]:
872+ policy_string = f"{ policy ['policy_id' ]} : { policy ['policy_description' ]} "
873+ if not policy_string in xgmi_plpd_profile_list :
874+ xgmi_plpd_profile_list .append (policy_string )
864875 except amdsmi_interface .AmdSmiLibraryException as e :
865876 continue
866- for policy in xgmi_plpd_info ['policies' ]:
867- policy_string = f"{ policy ['policy_id' ]} : { policy ['policy_description' ]} "
868- if not policy_string in xgmi_plpd_profile_list :
869- xgmi_plpd_profile_list .append (policy_string )
877+ except KeyError as e :
878+ logging .debug (f"AMDSMIHelpers.get_xgmi_plpd_policies - Missing key in xgmi_plpd_info: { e } " )
879+ continue
870880 if len (xgmi_plpd_profile_list ) == 0 :
871881 xgmi_plpd_profile_list .append ("N/A" )
872882 return xgmi_plpd_profile_list
0 commit comments