Hi,

On Fri, 17 Jul 2026 11:30:07 +0200, Jorge Ramirez-Ortiz wrote:
> ufshcd_get_req_rsp() invalidates only sizeof(struct utp_upiu_rsp) of the
> DMA'd response, but a READ DESCRIPTOR response's data segment follows the
> UPIU header at GENERAL_UPIU_REQUEST_SIZE and can extend past that window.
> The tail of a longer descriptor was therefore read from stale cache (the
> pre-transfer memset had zeroed it), so its last bytes came back as 0.
> 
> This corrupted the last UTF-16 code unit of longer string descriptors:
> e.g. a 34-byte product-name descriptor "THGJFGT0T25BAZZA" was read as
> "THGJFGT0T25BAZZ\0", dropping the final 'A'. Shorter descriptors that fit
> within the invalidated cache line (serial numbers, etc.) were unaffected.
> 
> [...]

Thanks, Applied to 
https://git.u-boot-project.org/u-boot/custodians/neil.armstrong/u-boot-ufs 
(u-boot-ufs-fixes)

[1/1] ufs: invalidate the whole descriptor data segment after a query read
      
https://git.u-boot-project.org/u-boot/custodians/neil.armstrong/u-boot-ufs/-/commit/38bfdf0a770219e2f753023998bc9d0b45254785

-- 
Neil

Reply via email to