The network driver wasn't checking that the host side of an interface had
been successfully opened before trying to close it at shuwtdown.
Signed-off-by: Jeff Dike <[email protected]>
Index: linux-2.6.11/arch/um/drivers/net_kern.c
===================================================================
--- linux-2.6.11.orig/arch/um/drivers/net_kern.c 2005-03-05 12:07:28.000000000 -0500
+++ linux-2.6.11/arch/um/drivers/net_kern.c 2005-03-05 12:12:13.000000000 -0500
@@ -728,7 +728,8 @@
list_for_each(ele, &opened){
lp = list_entry(ele, struct uml_net_private, list);
- if(lp->close != NULL) (*lp->close)(lp->fd, &lp->user);
+ if((lp->close != NULL) && (lp->fd >= 0))
+ (*lp->close)(lp->fd, &lp->user);
if(lp->remove != NULL) (*lp->remove)(&lp->user);
}
}