The size caculation is wrong. It should be end - start + 1. Use resource_size() to calculate it correctly. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> diff --git a/drivers/misc/hdpuftrs/hdpu_nexus.c b/drivers/misc/hdpuftrs/hdpu_nexus.c index ce39fa5..bce5029 100644 --- a/drivers/misc/hdpuftrs/hdpu_nexus.c +++ b/drivers/misc/hdpuftrs/hdpu_nexus.c @@ -92,8 +92,7 @@ static int hdpu_nexus_probe(struct platform_device *pdev) "Invalid memory resource.\n"); return -EINVAL; } - nexus_id_addr = ioremap(res->start, - (unsigned long)(res->end - res->start)); + nexus_id_addr = ioremap(res->start, resource_size(res)); if (nexus_id_addr) { slot_id = (*nexus_id_addr >> 8) & 0x1f; chassis_id = *nexus_id_addr & 0xff; -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html