[openib-general] [PATCH] Opensm - add info in vendor error printing
Yael Kalka
yael at mellanox.co.il
Thu Nov 17 04:30:37 PST 2005
Hi Hal,
We are encountering problems in umad_send with large sized mads. I
will send a different mail regarding this issue to the group.
This patch adds the mad size to the error message when umad_send
failed.
Thanks,
Yael
Signed-off-by: Yael Kalka <yael at mellanox.co.il>
Index: libvendor/osm_vendor_ibumad.c
===================================================================
--- libvendor/osm_vendor_ibumad.c (revision 4069)
+++ libvendor/osm_vendor_ibumad.c (working copy)
@@ -1010,6 +1010,7 @@ osm_vendor_send(
ib_sa_mad_t* const p_sa = (ib_sa_mad_t *)p_mad;
int ret = -1;
int is_rmpp = 0;
+ uint32_t sent_mad_size;
#ifndef VENDOR_RMPP_SUPPORT
uint32_t paylen = 0;
#endif
@@ -1067,20 +1068,23 @@ osm_vendor_send(
if (resp_expected)
put_madw(p_vend, p_madw, &p_mad->trans_id);
- if ((ret = umad_send(p_bind->port_id, p_bind->agent_id, p_vw->umad,
#ifdef VENDOR_RMPP_SUPPORT
- p_madw->mad_size,
+ sent_mad_size = p_madw->mad_size;
#else
- is_rmpp ? p_madw->mad_size - IB_SA_MAD_HDR_SIZE :
+ sent_mad_size = is_rmpp ? p_madw->mad_size - IB_SA_MAD_HDR_SIZE :
p_madw->mad_size,
#endif
+
+ if ((ret = umad_send(p_bind->port_id, p_bind->agent_id, p_vw->umad,
+ sent_mad_size,
resp_expected ? p_vend->timeout : 0,
p_vend->max_retries)) < 0) {
if (resp_expected)
get_madw(p_vend, &p_mad->trans_id); /* remove from aging table */
osm_log(p_vend->p_log, OSM_LOG_ERROR,
"osm_vendor_send: ERR 5430: "
- "Send p_madw = %p failed %d (%m)\n", p_madw, ret);
+ "Send p_madw = %p of size %d failed %d (%m)\n",
+ p_madw, sent_mad_size, ret);
p_madw->status = IB_ERROR;
cl_spinlock_acquire( &p_vend->cb_lock );
(*p_bind->send_err_callback)(p_bind->client_context, p_madw); /* cb frees madw */
More information about the general
mailing list