summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/netinet/ip_dummynet.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/netinet/ip_dummynet.c b/sys/netinet/ip_dummynet.c
index 9585cc7..0fd9906 100644
--- a/sys/netinet/ip_dummynet.c
+++ b/sys/netinet/ip_dummynet.c
@@ -1516,7 +1516,7 @@ set_fs_parms(struct dn_flow_set *x, struct dn_flow_set *src)
static int
config_pipe(struct dn_pipe *p)
{
- int i, s;
+ int i, r, s;
struct dn_flow_set *pfs = &(p->fs);
struct dn_flow_queue *q;
@@ -1570,10 +1570,11 @@ config_pipe(struct dn_pipe *p)
if ( x->fs.rq == NULL ) { /* a new pipe */
- s = alloc_hash(&(x->fs), pfs) ;
- if (s) {
+ r = alloc_hash(&(x->fs), pfs) ;
+ if (r) {
free(x, M_DUMMYNET);
- return s ;
+ splx(s);
+ return r ;
}
x->next = b ;
if (a == NULL)
@@ -1614,10 +1615,11 @@ config_pipe(struct dn_pipe *p)
set_fs_parms(x, pfs);
if ( x->rq == NULL ) { /* a new flow_set */
- s = alloc_hash(x, pfs) ;
+ r = alloc_hash(x, pfs) ;
if (s) {
free(x, M_DUMMYNET);
- return s ;
+ splx(s);
+ return r ;
}
x->next = b;
if (a == NULL)
OpenPOWER on IntegriCloud