/* Called from cnic_register_driver() context to initialize all enumerated cnic devices. This routine allocate adapter structure and other device specific resources.  */
void bnx2i_ulp_init(struct cnic_dev *dev)
/* Called from cnic_register_driver() context to initialize all enumerated cnic devices. This routine allocate adapter structure and other device specific resources.  */
void bnx2i_ulp_init(struct cnic_dev *dev)
{
	struct bnx2i_hba *hba;
	hba = bnx2i_alloc_hba(dev);
	if (!hba) {
		printk(KERN_ERR "bnx2i init: hba initialization failed\n");
		return;
	}
	clear_bit(BNX2I_CNIC_REGISTERED, &hba->reg_with_cnic);
	if (bnx2i_init_one(hba, dev)) {
		printk(KERN_ERR "bnx2i - hba %p init failed\n", hba);
		bnx2i_free_hba(hba);
	} else
		hba->cnic = dev;
}