NIC address conflicts on 64K pagesize when using multiple NICs, as system will mmap 64K pagesize for NIC, but dev->mem_resource[i].len is 16K.
Signed-off-by: Beard-627 <dengxiaof...@huawei.com> Signed-off-by: Eric wang <seven.wan...@huawei.com> Acked-by: Wei Hu <xavier.hu...@huawei.com> Acked-by: Min Hu <humi...@huawei.com> --- drivers/bus/pci/linux/pci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c index 43debaa..afaa68d 100644 --- a/drivers/bus/pci/linux/pci.c +++ b/drivers/bus/pci/linux/pci.c @@ -201,6 +201,11 @@ if (flags & IORESOURCE_MEM) { dev->mem_resource[i].phys_addr = phys_addr; dev->mem_resource[i].len = end_addr - phys_addr + 1; + if (dev->mem_resource[i].len < + (unsigned int)getpagesize()) + + dev->mem_resource[i].len = + (unsigned int)getpagesize(); /* not mapped for now */ dev->mem_resource[i].addr = NULL; } -- 1.8.3.1