On Fri, May 31, 2024 at 08:31:49AM -0500, Rob Herring (Arm) wrote: > It is possible the overall length of "interrupt-map" is shorter than > expected. A likely scenario is if "#address-cells" in the interrupt > parent is not accounted for and there is only a single map entry. With > multiple entries, one of the other tests would likely fail. > > Signed-off-by: Rob Herring (Arm) <robh@xxxxxxxxxx> Applied, thanks. Of course, a test case for this would be a nice followup. > --- > checks.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/checks.c b/checks.c > index 28f86ccff56b..1950c18dd333 100644 > --- a/checks.c > +++ b/checks.c > @@ -1677,6 +1677,10 @@ static void check_interrupt_map(struct check *c, > parent_cellsize += propval_cell(cellprop); > > cell += 1 + parent_cellsize; > + if (cell > map_cells) > + FAIL_PROP(c, dti, node, irq_map_prop, > + "property size (%d) mismatch, expected %zu", > + irq_map_prop->val.len, cell * sizeof(cell_t)); > } > } > WARNING(interrupt_map, check_interrupt_map, NULL, &phandle_references, &addr_size_cells, &interrupt_provider); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature