On Sun, Mar 17, 2019 at 08:35:21AM +0800, Liu Bo wrote:
> 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 <[email protected]>

Hi Liu Bo,

Thanks for the fix. This seems right. I will fix it in my internal
branch. These patches are not upstream yet. Will fold this into
existing patch for the next posting.

Thanks
Vivek

> ---
>  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
> 

Reply via email to