avoid buggy kmem_cache_destory on repeated connect/disconnect cycles, refine 
the predicate used to print an error related to the processing of error-ed WC.

Signed-off-by: Or Gerlitz <ogerlitz.voltaire.com>

Index: iser_verbs.c
===================================================================
--- iser_verbs.c        (revision 4984)
+++ iser_verbs.c        (revision 4985)
@@ -670,7 +670,8 @@ static void iser_handle_comp_error(enum 
                iser_dbg("Conn. 0x%p is being terminated asynchronously\n", 
p_iser_conn);
        }
        /* Handle completion Error */
-       if (iser_dto_completion_error(p_dto))
+       ret_val = iser_dto_completion_error(p_dto);
+       if (ret_val && ret_val != -EAGAIN)
                iser_err("Failed to handle ERROR DTO completion\n");
 }
 
Index: iser_conn.c
===================================================================
--- iser_conn.c (revision 4984)
+++ iser_conn.c (revision 4985)
@@ -381,6 +381,7 @@ void iser_conn_release(struct iser_conn 
                        if(kmem_cache_destroy(p_iscsi_conn->postrecv_cache) != 
0)
                                iser_err("postrecv cache %s not empty, leak!\n",
                                         p_iscsi_conn->postrecv_cn);
+                       p_iscsi_conn->ff_mode_enabled = 0;
                }
                /* release socket with conn descriptor */
                sock_release(iser_conn_to_sock(p_iser_conn));

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to