diff options
Diffstat (limited to 'drivers/ieee1394/eth1394.c')
-rw-r--r-- | drivers/ieee1394/eth1394.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c index a364003ba47f..e2b84c9b83bb 100644 --- a/drivers/ieee1394/eth1394.c +++ b/drivers/ieee1394/eth1394.c | |||
@@ -568,8 +568,10 @@ static void ether1394_add_host (struct hpsb_host *host) | |||
568 | ð1394_highlevel, host, &addr_ops, | 568 | ð1394_highlevel, host, &addr_ops, |
569 | ETHER1394_REGION_ADDR_LEN, ETHER1394_REGION_ADDR_LEN, | 569 | ETHER1394_REGION_ADDR_LEN, ETHER1394_REGION_ADDR_LEN, |
570 | CSR1212_INVALID_ADDR_SPACE, CSR1212_INVALID_ADDR_SPACE); | 570 | CSR1212_INVALID_ADDR_SPACE, CSR1212_INVALID_ADDR_SPACE); |
571 | if (fifo_addr == CSR1212_INVALID_ADDR_SPACE) | 571 | if (fifo_addr == CSR1212_INVALID_ADDR_SPACE) { |
572 | goto out; | 572 | ETH1394_PRINT_G(KERN_ERR, "Cannot register CSR space\n"); |
573 | return; | ||
574 | } | ||
573 | 575 | ||
574 | /* We should really have our own alloc_hpsbdev() function in | 576 | /* We should really have our own alloc_hpsbdev() function in |
575 | * net_init.c instead of calling the one for ethernet then hijacking | 577 | * 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) | |||
640 | else | 642 | else |
641 | priv->bc_state = ETHER1394_BC_RUNNING; | 643 | priv->bc_state = ETHER1394_BC_RUNNING; |
642 | } | 644 | } |
643 | |||
644 | return; | 645 | return; |
645 | |||
646 | out: | 646 | out: |
647 | if (dev != NULL) | 647 | if (dev) |
648 | free_netdev(dev); | 648 | free_netdev(dev); |
649 | if (hi) | 649 | if (hi) |
650 | hpsb_destroy_hostinfo(ð1394_highlevel, host); | 650 | hpsb_destroy_hostinfo(ð1394_highlevel, host); |
651 | 651 | hpsb_unregister_addrspace(ð1394_highlevel, host, fifo_addr); | |
652 | return; | ||
653 | } | 652 | } |
654 | 653 | ||
655 | /* Remove a card from our list */ | 654 | /* Remove a card from our list */ |