On 2020-05-04 07:20, huob...@gmail.com wrote:
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 698e8d20b4ba..de13d2333f1f 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -6627,6 +6627,17 @@ static int ufs_get_device_desc(struct ufs_hba *hba)
>               goto out;
>       }
>  
> +     if (desc_buf[DEVICE_DESC_PARAM_UFS_FEAT] & 0x80) {
> +             hba->dev_info.hpb_control_mode =
> +                     desc_buf[DEVICE_DESC_PARAM_HPB_CTRL_MODE];
> +             hba->dev_info.hpb_ver =
> +                     (u16) (desc_buf[DEVICE_DESC_PARAM_HPB_VER] << 8) |
> +                     desc_buf[DEVICE_DESC_PARAM_HPB_VER + 1];
> +             dev_info(hba->dev, "HPB Version: 0x%2x\n",
> +                      hba->dev_info.hpb_ver);
> +             dev_info(hba->dev, "HPB control mode: %d\n",
> +                      hba->dev_info.hpb_control_mode);
> +     }
>       /*
>        * getting vendor (manufacturerID) and Bank Index in big endian
>        * format

Please introduce a symbolic name for the constant 0x80, e.g.
UFS_FEATURE_HPB.

Please use get_unaligned_be16() instead of open-coding it.

Thanks,

Bart.


Reply via email to