From: Vu Pham srp_unmap_data assumes req->fmr is NULL if the request is not mapped, so we must clean it out in case of an error. Signed-off-by: Vu Pham Signed-off-by: Michael S. Tsirkin Acked-by: Roland Dreier Cc: Roland Dreier Signed-off-by: Andrew Morton --- drivers/infiniband/ulp/srp/ib_srp.c | 1 + 1 file changed, 1 insertion(+) diff -puN drivers/infiniband/ulp/srp/ib_srp.c~srp-fix-fmr-error-handling drivers/infiniband/ulp/srp/ib_srp.c --- a/drivers/infiniband/ulp/srp/ib_srp.c~srp-fix-fmr-error-handling +++ a/drivers/infiniband/ulp/srp/ib_srp.c @@ -618,6 +618,7 @@ static int srp_map_fmr(struct srp_device dma_pages, page_cnt, &io_addr); if (IS_ERR(req->fmr)) { ret = PTR_ERR(req->fmr); + req->fmr = NULL; goto out; } _