Hi Victor, Victor Fusco <victor@xxxxxxxxxx> wrote on Thu, 19 Mar 2020 14:41:29 +0000: > This patch fixes the mtd device size calculation when there is no gpio s/mtd/MTD/ S/gpio/GPIO/ > defined. The previous size calculation could return values lower than > those defined on the 'reg' field of the Device Tree, rasing 'attempt to s/rasing/raising/ ? > access beyond end of device' errors during device access. > > Signed-off-by: Victor Fusco <victor@xxxxxxxxxx> > --- > drivers/mtd/maps/physmap-core.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c > index 8f7f966fa9a7..27cc6ac01ea8 100644 > --- a/drivers/mtd/maps/physmap-core.c > +++ b/drivers/mtd/maps/physmap-core.c > @@ -520,17 +520,19 @@ static int physmap_flash_probe(struct platform_device *dev) > if (!info->maps[i].phys) > info->maps[i].phys = res->start; > > - info->win_order = get_bitmask_order(resource_size(res)) - 1; > - info->maps[i].size = BIT(info->win_order + > - (info->gpios ? > - info->gpios->ndescs : 0)); > - > info->maps[i].map_priv_1 = (unsigned long)dev; > > if (info->gpios) { > + info->win_order = get_bitmask_order(resource_size(res)) - 1; > + info->maps[i].size = BIT(info->win_order + > + info->gpios->ndescs); > + > err = physmap_addr_gpios_map_init(&info->maps[i]); > if (err) > goto err_out; > + } else { > + info->maps[i].size = resource_size(res); I didn't check the driver but are you sure info->win_order and maps[i].map_priv_1 do not need to be initialized? Also are these fields still needed if you stop using them? (just asking) > + Extra new line > } > > #ifdef CONFIG_MTD_COMPLEX_MAPPINGS > > base-commit: 5076190daded2197f62fe92cf69674488be44175 Thanks, Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/