Hi Avri,
quoted
+ /* for pre_req */
+ hpb->pre_req_min_tr_len = hpb_dev_info->max_hpb_single_cmd + 1;
+
+ if (ufshpb_is_legacy(hba))
+ hpb->pre_req_max_tr_len = HPB_LEGACY_CHUNK_HIGH;
+ else
+ hpb->pre_req_max_tr_len = max(HPB_MULTI_CHUNK_HIGH,
+ hpb->pre_req_min_tr_len);
I think this should only be
else
hpb->pre_req_max_tr_len = HPB_MULTI_CHUNK_HIGH;
where HPB_MULTI_CHUNK_HIGH should fit into a single byte,
regardless of bMAX_ DATA_SIZE_FOR_HPB_SINGLE_CMD,
which being an attribute (u32) can be significantly larger.
I will fix it as suggested.
Thank you.
Thanks,
Avri