Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 157188cb authored by Stefan Richter's avatar Stefan Richter
Browse files

ieee1394: eth1394: unregister address space in failure case



Warn if hpsb_allocate_and_register_addrspace() failed.
Unregister the address space if something else failed.

Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent ea9057ad
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -568,8 +568,10 @@ static void ether1394_add_host (struct hpsb_host *host)
			&eth1394_highlevel, host, &addr_ops,
			ETHER1394_REGION_ADDR_LEN, ETHER1394_REGION_ADDR_LEN,
			CSR1212_INVALID_ADDR_SPACE, CSR1212_INVALID_ADDR_SPACE);
	if (fifo_addr == CSR1212_INVALID_ADDR_SPACE)
		goto out;
	if (fifo_addr == CSR1212_INVALID_ADDR_SPACE) {
		ETH1394_PRINT_G(KERN_ERR, "Cannot register CSR space\n");
		return;
	}

	/* We should really have our own alloc_hpsbdev() function in
	 * net_init.c instead of calling the one for ethernet then hijacking
@@ -640,16 +642,13 @@ static void ether1394_add_host (struct hpsb_host *host)
		else
			priv->bc_state = ETHER1394_BC_RUNNING;
	}

	return;

out:
	if (dev != NULL)
	if (dev)
		free_netdev(dev);
	if (hi)
		hpsb_destroy_hostinfo(&eth1394_highlevel, host);

	return;
	hpsb_unregister_addrspace(&eth1394_highlevel, host, fifo_addr);
}

/* Remove a card from our list */