/* Note that at boot, this probe only picks up one card at a time.  */
static int __init do_ne2_probe(struct net_device *dev)
/* Note that at boot, this probe only picks up one card at a time.  */
static int __init do_ne2_probe(struct net_device *dev)
{
	static int current_mca_slot = -1;
	int i;
	int adapter_found = 0;
	for(i = 0; (ne2_adapters[i].name != NULL) && !adapter_found; i++) {
		current_mca_slot =
			mca_find_unused_adapter(ne2_adapters[i].id, 0);
		if((current_mca_slot != MCA_NOTFOUND) && !adapter_found) {
			int res;
			mca_set_adapter_name(current_mca_slot,
					ne2_adapters[i].name);
			mca_mark_as_used(current_mca_slot);
			res = ne2_probe1(dev, current_mca_slot);
			if (res)
				mca_mark_as_unused(current_mca_slot);
			return res;
		}
	}
	return -ENODEV;
}