o Do not overwrite saved interrupt priority level by alloc_hash(),

use a separate variable.
o Restore interrupt priority level before return (no-op in HEAD).

Spotted by:	Don Bowman <don@sandvine.com>
MFC after:	5 days
This commit is contained in:
Maxim Konovalov 2003-07-25 09:59:16 +00:00
parent a3a2d24e9c
commit 853af3f3f0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=118008

View File

@ -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)