> > +bool ufshpb_is_legacy(struct ufs_hba *hba) > > +{ > > + return hba->ufshpb_dev.is_legacy; > > +} > > + > > static struct ufshpb_lu *ufshpb_get_hpb_data(struct scsi_device *sdev) > > { > > return sdev->hostdata; > > @@ -64,9 +69,19 @@ static bool ufshpb_is_write_or_discard_cmd(struct > > scsi_cmnd *cmd) > > op_is_discard(req_op(cmd->request)); > > } > > > > -static bool ufshpb_is_support_chunk(int transfer_len) > > +static bool ufshpb_is_support_chunk(struct ufshpb_lu *hpb, int > > transfer_len) > > { > > - return transfer_len <= HPB_MULTI_CHUNK_HIGH; > > + return transfer_len <= hpb->pre_req_max_tr_len; > > In the case of HPB1.0, this is wrong - you are allowing transfer_len > 1 > for HPB1.0 devices. > > Can Guo. OK, I will check whether it is HPB 1.0 or not. Thanks, Daejun