[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 <mcb30@ipxe.org>
pull/1/head
Piotr Jaroszyński 2011-03-27 19:26:28 +02:00 committed by Michael Brown
parent 1cc991e132
commit 8ab2f51997
1 changed files with 3 additions and 3 deletions

View File

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