svn commit: r212108 - projects/sv/sys/net

Attilio Rao attilio at FreeBSD.org
Wed Sep 1 19:27:42 UTC 2010


Author: attilio
Date: Wed Sep  1 19:27:41 2010
New Revision: 212108
URL: http://svn.freebsd.org/changeset/base/212108

Log:
  As announced earlier, just lock in non-panicking conditions.
  The code could be different and require any implementation of
  acquire_lock and release_lock virtual functions to skip in panicstr != NULL
  case, but that would be too error prone, so just handle locally.

Modified:
  projects/sv/sys/net/netdump_client.c

Modified: projects/sv/sys/net/netdump_client.c
==============================================================================
--- projects/sv/sys/net/netdump_client.c	Wed Sep  1 19:23:49 2010	(r212107)
+++ projects/sv/sys/net/netdump_client.c	Wed Sep  1 19:27:41 2010	(r212108)
@@ -1186,7 +1186,8 @@ netdump_trigger(void *arg, int howto)
 	savectx(&dumppcb);
 	dumping++;
 
-	nd_nic->if_netdump->acquire_lock(nd_nic);
+	if (panicstr == NULL)
+		nd_nic->if_netdump->acquire_lock(nd_nic);
 
 	/* Make the card use *our* receive callback */
 	old_if_input = nd_nic->if_input;
@@ -1242,7 +1243,8 @@ netdump_trigger(void *arg, int howto)
 trig_abort:
 	if (old_if_input)
 		nd_nic->if_input = old_if_input;
-	nd_nic->if_netdump->release_lock(nd_nic);
+	if (panicstr == NULL)
+		nd_nic->if_netdump->release_lock(nd_nic);
 	dumping--;
 }
 


More information about the svn-src-projects mailing list