summary refs log tree commit diff
path: root/net/smc/smc_core.h
diff options
context:
space:
mode:
authorKarsten Graul <kgraul@linux.ibm.com>2018-05-03 17:57:38 +0200
committerDavid S. Miller <davem@davemloft.net>2018-05-03 14:47:31 -0400
commita6920d1d130c3de039be982eba42542d329dc64c (patch)
treeeb06c1cdb7a9867644730d86ab9e13e12be17b41 /net/smc/smc_core.h
parente63a5f8c19d7807823d68830ebe8cfbd4419ab13 (diff)
downloadlinux-a6920d1d130c3de039be982eba42542d329dc64c.tar.gz
net/smc: handle unregistered buffers
When smc_wr_reg_send() fails then tag (regerr) the affected buffer and
free it in smc_buf_unuse().

Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_core.h')
-rw-r--r--net/smc/smc_core.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h
index 07e2a393e6d9..5dfcb15d529f 100644
--- a/net/smc/smc_core.h
+++ b/net/smc/smc_core.h
@@ -123,7 +123,8 @@ struct smc_buf_desc {
 						 */
 	u32			order;		/* allocation order */
 	u32			used;		/* currently used / unused */
-	bool			reused;		/* new created / reused */
+	u8			reused	: 1;	/* new created / reused */
+	u8			regerr	: 1;	/* err during registration */
 };
 
 struct smc_rtoken {				/* address/key of remote RMB */