xprtrdma: Fix BUG after a device removal
[sfrench/cifs-2.6.git] / net / sunrpc / xprtrdma / verbs.c
index bb56b9d849c4b159818c6e1df696355980d02d65..e6f84a6434a049e41d83092a0764668a21416d4c 100644 (file)
@@ -1502,6 +1502,9 @@ __rpcrdma_dma_map_regbuf(struct rpcrdma_ia *ia, struct rpcrdma_regbuf *rb)
 static void
 rpcrdma_dma_unmap_regbuf(struct rpcrdma_regbuf *rb)
 {
+       if (!rb)
+               return;
+
        if (!rpcrdma_regbuf_is_mapped(rb))
                return;
 
@@ -1517,9 +1520,6 @@ rpcrdma_dma_unmap_regbuf(struct rpcrdma_regbuf *rb)
 void
 rpcrdma_free_regbuf(struct rpcrdma_regbuf *rb)
 {
-       if (!rb)
-               return;
-
        rpcrdma_dma_unmap_regbuf(rb);
        kfree(rb);
 }