+
+ /* Delete all autoroute entries */
+ ksocknal_del_route(PTL_NID_ANY, 0, 0, 0);
+
+ /* Delete all connections */
+ ksocknal_close_matching_conns (PTL_NID_ANY, 0);
+
+ /* Wait for all peer state to clean up */
+ i = 2;
+ while (atomic_read (&ksocknal_data.ksnd_npeers) != 0) {
+ i++;
+ CDEBUG(((i & (-i)) == i) ? D_WARNING : D_NET, /* power of 2? */
+ "waiting for %d peers to disconnect\n",
+ atomic_read (&ksocknal_data.ksnd_npeers));
+ set_current_state (TASK_UNINTERRUPTIBLE);
+ schedule_timeout (HZ);
+ }
+
+ /* Tell lib we've stopped calling into her. */