diff options
author | Vu Pham <vu@mellanox.com> | 2006-07-14 03:23:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-15 00:53:50 -0400 |
commit | 6583eb3dcc1f03ce969594dae5573dbefce015dc (patch) | |
tree | bf93901cb14ed4bb2175a784acc52880860a4278 /drivers/infiniband/ulp/srp | |
parent | f0ee3404cce2c45f8b95b341dd6311cd92e5cee0 (diff) |
[PATCH] srp: fix fmr error handling
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 <vu@mellanox.com>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Acked-by: Roland Dreier <rolandd@cisco.com>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/infiniband/ulp/srp')
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 4e22afef7206..619118080bcb 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -618,6 +618,7 @@ static int srp_map_fmr(struct srp_device *dev, struct scatterlist *scat, | |||
618 | dma_pages, page_cnt, &io_addr); | 618 | dma_pages, page_cnt, &io_addr); |
619 | if (IS_ERR(req->fmr)) { | 619 | if (IS_ERR(req->fmr)) { |
620 | ret = PTR_ERR(req->fmr); | 620 | ret = PTR_ERR(req->fmr); |
621 | req->fmr = NULL; | ||
621 | goto out; | 622 | goto out; |
622 | } | 623 | } |
623 | 624 | ||