struct nic nic;
+static int legacy_registered = 0;
+
static int legacy_transmit ( struct net_device *netdev, struct pk_buff *pkb ) {
struct nic *nic = netdev->priv;
struct ethhdr *ethhdr = pkb->data;
void ( * disable ) ( struct nic *nic ) ) {
struct net_device *netdev;
int rc;
+
+ if ( legacy_registered )
+ return -EBUSY;
netdev = alloc_etherdev ( 0 );
if ( ! netdev )
/* Do not remove this message */
printf ( "WARNING: Using legacy NIC wrapper\n" );
+ legacy_registered = 1;
return 0;
}
unregister_netdev ( netdev );
disable ( nic );
free_netdev ( netdev );
+ legacy_registered = 0;
}
void pci_fill_nic ( struct nic *nic, struct pci_device *pci ) {