[PATCH] virtio-fs: fix multiple tag support

Liu Bo
2019-03-17T00:35:21Z

While doing memremap from pci_dev's system bus address to kernel virtual
address, we assign a wrong value to the %end of pgmap.res, which ends up
with a wrong resource size in the process of memremap, and that further
prevent the second virtiofs pci device from being probed successfully.

Signed-off-by: Liu Bo <bo.liu@linux.alibaba.com>
---
fs/fuse/virtio_fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fuse/virtio_fs.c b/fs/fuse/virtio_fs.c
index 88b00055589b..7abf2187d85f 100644
--- a/fs/fuse/virtio_fs.c
+++ b/fs/fuse/virtio_fs.c
@@ -713,7 +713,7 @@ static int virtio_fs_setup_dax(struct virtio_device *vdev, struct virtio_fs *fs)
pgmap->res = (struct resource){
.name = "virtio-fs dax window",
.start = phys_addr,
- .end = phys_addr + cache_len,
+ .end = phys_addr + cache_len - 1,
};

fs->window_kaddr = devm_memremap_pages(&pci_dev->dev, pgmap);
--
2.20.1.2.gb21ebb6