On Mon, Sep 25, 2023 at 12:45:55PM -0700, Srinivas Pandruvada wrote: > The driver is using 256 as the size while calling devm_ioremap(). The > maximum offset is already part of struct isst_mmio_range. Use the > maximum offset (end field of the struct) plus 4 as the map size to remove > hardcoded value of 256. ... > + punit_dev->mmio_range = (struct isst_mmio_range *) ent->driver_data; > + > + punit_dev->punit_mmio = devm_ioremap(&pdev->dev, base_addr, > + punit_dev->mmio_range[1].end + sizeof(u32)); Can we rather fix the mmio_range driver data to have end be actually not the offset of the last dword? (Better maybe to keep length there.) With help of struct resource r; ... r = DEFINE_RES_MEM(base_addr, mmio_range.beg + mmio_range.len); you can switch to devm_ioremap_resource() API. -- With Best Regards, Andy Shevchenko