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