mirror of
https://github.com/ipxe/ipxe
synced 2025-12-12 06:22:01 +03:00
Use hotplug support to notify persistent reference holders when a
net_device is unregistered.
This commit is contained in:
@@ -161,6 +161,7 @@ struct net_device * alloc_netdev ( size_t priv_size ) {
|
||||
|
||||
netdev = calloc ( 1, sizeof ( *netdev ) + priv_size );
|
||||
if ( netdev ) {
|
||||
INIT_LIST_HEAD ( &netdev->references );
|
||||
INIT_LIST_HEAD ( &netdev->rx_queue );
|
||||
netdev->priv = ( ( ( void * ) netdev ) + sizeof ( *netdev ) );
|
||||
}
|
||||
@@ -201,6 +202,9 @@ void unregister_netdev ( struct net_device *netdev ) {
|
||||
free_pkb ( pkb );
|
||||
}
|
||||
|
||||
/* Kill off any persistent references to this device */
|
||||
forget_references ( &netdev->references );
|
||||
|
||||
/* Remove from device list */
|
||||
list_del ( &netdev->list );
|
||||
DBG ( "%s unregistered\n", netdev_name ( netdev ) );
|
||||
|
||||
Reference in New Issue
Block a user