> +       if (!ufshpb_is_hpb_rsp_valid(hba, lrbp, rsp_field))
> +               return;
> +
> +       hpb->stats.rb_noti_cnt++;

> +       switch (rsp_field->hpb_op) {
> +       case HPB_RSP_NONE:
> +               /* nothing to do */
> +               break;
Maybe checks this too in ufshpb_is_hpb_rsp_valid

> +       case HPB_RSP_REQ_REGION_UPDATE:
> +               WARN_ON(data_seg_len != DEV_DATA_SEG_LEN);
> +               ufshpb_rsp_req_region_update(hpb, rsp_field);
> +               break;
> +       case HPB_RSP_DEV_RESET:
> +               dev_warn(&hpb->sdev_ufs_lu->sdev_dev,
> +                        "UFS device lost HPB information during PM.\n");
> +               break;
> +       default:
> +               dev_notice(&hpb->sdev_ufs_lu->sdev_dev,
> +                          "hpb_op is not available: %d\n",
> +                          rsp_field->hpb_op);
> +               break;
> +       }
> +}

Reply via email to