>         if (dev_info->wspecversion >= UFS_DEV_HPB_SUPPORT_VERSION &&
>             (b_ufs_feature_sup & UFS_DEV_HPB_SUPPORT)) {
> -               dev_info->hpb_enabled = true;
> +               bool hpb_en = false;
> +
>                 ufshpb_get_dev_info(hba, desc_buf);
> +
> +               err = ufshcd_query_flag_retry(hba,
> UPIU_QUERY_OPCODE_READ_FLAG,
> +                                             QUERY_FLAG_IDN_HPB_EN, 0, 
> &hpb_en);
> +               if (ufshpb_is_legacy(hba) || (!err && hpb_en))
If is_legacy you shouldn't send fHPBen in the first place, not ignoring its 
failure.
Also, using a Boolean is limiting you to HPB2.0 vs. HPB1.0.
What would you do in new flags/attributes/descriptors that HPB3.0 will 
introduce?

> +                       dev_info->hpb_enabled = true;
>         }

Reply via email to