]> git.openfabrics.org - ~shefty/librdmacm.git/commit
rsockets: Delay initializing buffers until the inline size is known
authorSean Hefty <sean.hefty@intel.com>
Fri, 29 May 2015 18:24:26 +0000 (11:24 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 29 May 2015 18:24:26 +0000 (11:24 -0700)
commitd21329a1c55ac881a1430bbaeb2b7fea3b8769b4
tree3556f173e3d38cdf07e4b42632dc27ffd1a6ab1f
parent2b2aad809afc56fa3157f5cf99036f92b9c90f16
rsockets: Delay initializing buffers until the inline size is known

The qib HCA ignores the requested max_inline_size on input and
instead returns the supported value on output.  As a result,
the default inline size requested by rsockets is ignored, with 0
being returned.  The code catches this after it creates the QP, but
has already initialized its data buffers prior to creating the QP.

The result is that the inline size used in rs_init_bufs() is larger
than that supported by the qib device.  This causes a failure when
attempting to update available receive buffer space.  The registered
data buffer for the credit message is smaller than what is needed.

Work-around this issue by delaying the initialization of the data
buffers until after the QP has been created and the real size of
the inline data is known.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>