diff --git a/sys/arm/mv/mv_ap806_gicp.c b/sys/arm/mv/mv_ap806_gicp.c --- a/sys/arm/mv/mv_ap806_gicp.c +++ b/sys/arm/mv/mv_ap806_gicp.c @@ -108,7 +108,7 @@ } sc->spi_ranges_cnt = OF_getencprop_alloc(node, "marvell,spi-ranges", - (void **)&sc->spi_ranges); + (void **)&sc->spi_ranges) / sizeof(*sc->spi_ranges); xref = OF_xref_from_node(node); if (intr_pic_register(dev, xref) == NULL) { @@ -153,7 +153,7 @@ sc->parent_map_data->cells[2] = irq_type; /* Map the interrupt number to SPI number */ - for (i = 0; i < sc->spi_ranges_cnt / 2; i += 2) { + for (i = 0; i < sc->spi_ranges_cnt; i += 2) { if (irq_num < sc->spi_ranges[i + 1]) { irq_num += sc->spi_ranges[i]; break;