if ((ret = flexcop_dma_allocate(fc_pci->pdev,&fc_pci->dma[0],FC_DEFAULT_DMA1_BUFSIZE)) != 0)
                return ret;
 
-       if ((ret = flexcop_dma_allocate(fc_pci->pdev,&fc_pci->dma[1],FC_DEFAULT_DMA2_BUFSIZE)) != 0)
-               goto dma1_free;
+       if ((ret = flexcop_dma_allocate(fc_pci->pdev,&fc_pci->dma[1],FC_DEFAULT_DMA2_BUFSIZE)) != 0) {
+               flexcop_dma_free(&fc_pci->dma[0]);
+               return ret;
+       }
 
        flexcop_sram_set_dest(fc_pci->fc_dev,FC_SRAM_DEST_MEDIA | FC_SRAM_DEST_NET, FC_SRAM_DEST_TARGET_DMA1);
        flexcop_sram_set_dest(fc_pci->fc_dev,FC_SRAM_DEST_CAO   | FC_SRAM_DEST_CAI, FC_SRAM_DEST_TARGET_DMA2);
 
        fc_pci->init_state |= FC_PCI_DMA_INIT;
 
-       goto success;
-dma1_free:
-       flexcop_dma_free(&fc_pci->dma[0]);
-
-success:
        return ret;
 }
 
        spin_lock_init(&fc_pci->irq_lock);
 
        fc_pci->init_state |= FC_PCI_INIT;
-       goto success;
+       return ret;
 
 err_pci_iounmap:
        pci_iounmap(fc_pci->pdev, fc_pci->io_mem);
        pci_release_regions(fc_pci->pdev);
 err_pci_disable_device:
        pci_disable_device(fc_pci->pdev);
-
-success:
        return ret;
 }
 
 
        INIT_WORK(&fc_pci->irq_check_work, flexcop_pci_irq_check_work, fc_pci);
 
-       goto success;
+       return ret;
+
 err_fc_exit:
        flexcop_device_exit(fc);
 err_pci_exit:
        flexcop_pci_exit(fc_pci);
 err_kfree:
        flexcop_device_kfree(fc);
-success:
        return ret;
 }
 
 
        flexcop_wan_set_speed(fc_usb->fc_dev,FC_WAN_SPEED_8MBITS);
        flexcop_sram_ctrl(fc_usb->fc_dev,1,1,1);
 
-       ret = 0;
-       goto success;
+       return 0;
+
 urb_error:
        flexcop_usb_transfer_exit(fc_usb);
-success:
        return ret;
 }
 
                goto err_fc_exit;
 
        info("%s successfully initialized and connected.",DRIVER_NAME);
-       ret = 0;
-       goto success;
+       return 0;
+
 err_fc_exit:
        flexcop_device_exit(fc);
 err_usb_exit:
        flexcop_usb_exit(fc_usb);
 err_kfree:
        flexcop_device_kfree(fc);
-success:
        return ret;
 }
 
 
        dvb_net_init(&fc->dvb_adapter, &fc->dvbnet, &fc->demux.dmx);
 
        fc->init_state |= FC_STATE_DVB_INIT;
-       goto success;
+       return 0;
 
 err_connect_frontend:
        fc->demux.dmx.remove_frontend(&fc->demux.dmx,&fc->mem_frontend);
 err_dmx:
        dvb_unregister_adapter(&fc->dvb_adapter);
        return ret;
-
-success:
-       return 0;
 }
 
 static void flexcop_dvb_exit(struct flexcop_device *fc)
 
        flexcop_device_name(fc,"initialization of","complete");
 
-       ret = 0;
-       goto success;
+       return 0;
+
 error:
        flexcop_device_exit(fc);
-success:
        return ret;
 }
 EXPORT_SYMBOL(flexcop_device_initialize);
 
        state->frontend.ops = &state->ops;
        state->frontend.demodulator_priv = state;
 
-       goto success;
+       return &state->frontend;
 error:
        return NULL;
-success:
-       return &state->frontend;
 }
 
 static struct dvb_frontend_ops dtt200u_fe_ops = {
 
 
        dvb_net_init(&d->dvb_adap, &d->dvb_net, &d->demux.dmx);
 
-       goto success;
+       d->state |= DVB_USB_STATE_DVB;
+       return 0;
+
 err_dmx_dev:
        dvb_dmx_release(&d->demux);
 err_dmx:
        dvb_unregister_adapter(&d->dvb_adap);
 err:
        return ret;
-success:
-       d->state |= DVB_USB_STATE_DVB;
-       return 0;
 }
 
 int dvb_usb_dvb_exit(struct dvb_usb_device *d)
 
        s->lnb_buf[1] = SET_LNB_POWER;
        s->lnb_buf[3] = 0xff; /* 0=tone burst, 2=data burst, ff=off */
 
-       goto success;
+       return &s->fe;
 error:
        return NULL;
-success:
-       return &s->fe;
 }
 
 
 
        s->fe.ops = &s->ops;
        s->fe.demodulator_priv = s;
 
-       goto success;
+       return &s->fe;
 error:
        return NULL;
-success:
-       return &s->fe;
 }