From 8ab2f51997db80c88d098844ad5a9af5736d1c9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20Jaroszy=C5=84ski?=
Date: Sun, 27 Mar 2011 19:26:28 +0200
Subject: [PATCH] [netdevice] Mark devices as open only if opening succeeds
netdev_close() assumes that devices that are open are on the
open_list, which wasn't true if device specific opening failed.
Signed-off-by: Michael Brown
---
src/net/netdevice.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
index 813823760..301738173 100644
--- a/src/net/netdevice.c
+++ b/src/net/netdevice.c
@@ -463,13 +463,13 @@ int netdev_open ( struct net_device *netdev ) {
DBGC ( netdev, "NETDEV %s opening\n", netdev->name );
- /* Mark as opened */
- netdev->state |= NETDEV_OPEN;
-
/* Open the device */
if ( ( rc = netdev->op->open ( netdev ) ) != 0 )
return rc;
+ /* Mark as opened */
+ netdev->state |= NETDEV_OPEN;
+
/* Add to head of open devices list */
list_add ( &netdev->open_list, &open_net_devices );