[PATCH 03/12] drm/xe/pf: Drop GuC notifications for non-existing VF

Piotr Piórkowski piotr.piorkowski at intel.com
Fri Aug 16 13:01:30 UTC 2024


Michal Wajdeczko <michal.wajdeczko at intel.com> wrote on pią [2024-sie-09 18:51:50 +0200]:
> It is unlikely that GuC will ever send a G2H notification with an
> invalid VFID and it is currently harmless if that actually happen.
> But in upcoming patches we will start using that VFID as an index
> and we must be sure it is a valid to avoid a crash due to a buggy
> firmware or a currupted G2H message.
> 
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c
> index d11839d9e7d4..ad447d867e51 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c
> @@ -8,6 +8,7 @@
>  #include "xe_device.h"
>  #include "xe_gt.h"
>  #include "xe_gt_sriov_pf_control.h"
> +#include "xe_gt_sriov_pf_helpers.h"
>  #include "xe_gt_sriov_printk.h"
>  #include "xe_guc_ct.h"
>  #include "xe_sriov.h"
> @@ -212,6 +213,11 @@ static void pf_handle_vf_flr_done(struct xe_gt *gt, u32 vfid)
>  
>  static int pf_handle_vf_event(struct xe_gt *gt, u32 vfid, u32 eventid)
>  {
> +	xe_gt_sriov_dbg_verbose(gt, "received VF%u event %#x\n", vfid, eventid);
> +
> +	if (vfid > xe_gt_sriov_pf_get_totalvfs(gt))
> +		return -EPROTO;

I would probably add some log here.
I'm afraid that during debug the information about the last event is not enough

Thanks,
Piotr
> +
>  	switch (eventid) {
>  	case GUC_PF_NOTIFY_VF_FLR:
>  		pf_handle_vf_flr(gt, vfid);
> -- 
> 2.43.0
> 

-- 


More information about the Intel-xe mailing list