[ofw] [PATCH] add missing locks

Smith, Stan stan.smith at intel.com
Tue Nov 16 09:33:21 PST 2010


Hello,
  In order to preserve consistency of the p_port->buf_mgr.recv_pool list, acquire/release recv_lock over the call to __free_received_NBL(), as other calls to __free_received_NBL() do.
Issue is __free_received_NBL() eventually calls __buf_mgr_put_recv().

signed-off-by: stan smith <stan.smith at intel.com>

--- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp  Tue Nov 16 09:11:10 2010
+++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp  Tue Nov 16 09:10:59 2010
@@ -2191,7 +2191,9 @@
                                                                                        recv_complete_flags );
                        }
                        else {
+                               cl_spinlock_acquire( &p_port->recv_lock );
                                __free_received_NBL( p_port, p_port->recv_mgr.recv_NBL_array[0] );
+                               cl_spinlock_release( &p_port->recv_lock );
                        }

                } else {



More information about the ofw mailing list