> +static bool ufshpb_test_ppn_dirty(struct ufshpb_lu *hpb, int rgn_idx, > + int srgn_idx, int srgn_offset, int cnt) > +{ > + struct ufshpb_region *rgn; > + struct ufshpb_subregion *srgn; > + int bitmap_len = hpb->entries_per_srgn; > + int bit_len; > + > +next_srgn: > + rgn = hpb->rgn_tbl + rgn_idx; > + srgn = rgn->srgn_tbl + srgn_idx; > + > + if (!ufshpb_is_valid_srgn(rgn, srgn)) > + return true; The subregion is changing its state to issued, only in ufshpb_issue_map_req. Although you already know that those physical addresses are no longer valid in ufshpb_update_active_info. Can we mark that this subregion is no longer valid earlier, so not to keep sending faulty HPB-READ to that subregion? Thanks, Avri