kern/38502 ifconfig wi0 hangs

Don't acquire the socket lock for PRU_CONTROL.
This commit is contained in:
ad 2008-04-29 18:35:14 +00:00
parent 9bdeb71266
commit 68c83ab9c7
1 changed files with 2 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: sys_socket.c,v 1.57 2008/04/28 20:24:05 martin Exp $ */
/* $NetBSD: sys_socket.c,v 1.58 2008/04/29 18:35:14 ad Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: sys_socket.c,v 1.57 2008/04/28 20:24:05 martin Exp $");
__KERNEL_RCSID(0, "$NetBSD: sys_socket.c,v 1.58 2008/04/29 18:35:14 ad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -189,11 +189,9 @@ soo_ioctl(file_t *fp, u_long cmd, void *data)
else if (IOCGROUP(cmd) == 'r')
error = rtioctl(cmd, data, curlwp);
else {
solock(so);
error = (*so->so_proto->pr_usrreq)(so, PRU_CONTROL,
(struct mbuf *)cmd, (struct mbuf *)data, NULL,
curlwp);
sounlock(so);
}
KERNEL_UNLOCK_ONE(NULL);
break;