| .. | .. |
|---|
| 697 | 697 | netup_unidvb_dma_enable(dma, 0); |
|---|
| 698 | 698 | msleep(50); |
|---|
| 699 | 699 | cancel_work_sync(&dma->work); |
|---|
| 700 | | - del_timer(&dma->timeout); |
|---|
| 700 | + del_timer_sync(&dma->timeout); |
|---|
| 701 | 701 | } |
|---|
| 702 | 702 | |
|---|
| 703 | 703 | static int netup_unidvb_dma_setup(struct netup_unidvb_dev *ndev) |
|---|
| .. | .. |
|---|
| 887 | 887 | ndev->lmmio0, (u32)pci_resource_len(pci_dev, 0), |
|---|
| 888 | 888 | ndev->lmmio1, (u32)pci_resource_len(pci_dev, 1), |
|---|
| 889 | 889 | pci_dev->irq); |
|---|
| 890 | | - if (request_irq(pci_dev->irq, netup_unidvb_isr, IRQF_SHARED, |
|---|
| 891 | | - "netup_unidvb", pci_dev) < 0) { |
|---|
| 892 | | - dev_err(&pci_dev->dev, |
|---|
| 893 | | - "%s(): can't get IRQ %d\n", __func__, pci_dev->irq); |
|---|
| 894 | | - goto irq_request_err; |
|---|
| 895 | | - } |
|---|
| 890 | + |
|---|
| 896 | 891 | ndev->dma_size = 2 * 188 * |
|---|
| 897 | 892 | NETUP_DMA_BLOCKS_COUNT * NETUP_DMA_PACKETS_COUNT; |
|---|
| 898 | 893 | ndev->dma_virt = dma_alloc_coherent(&pci_dev->dev, |
|---|
| .. | .. |
|---|
| 933 | 928 | dev_err(&pci_dev->dev, "netup_unidvb: DMA setup failed\n"); |
|---|
| 934 | 929 | goto dma_setup_err; |
|---|
| 935 | 930 | } |
|---|
| 931 | + |
|---|
| 932 | + if (request_irq(pci_dev->irq, netup_unidvb_isr, IRQF_SHARED, |
|---|
| 933 | + "netup_unidvb", pci_dev) < 0) { |
|---|
| 934 | + dev_err(&pci_dev->dev, |
|---|
| 935 | + "%s(): can't get IRQ %d\n", __func__, pci_dev->irq); |
|---|
| 936 | + goto dma_setup_err; |
|---|
| 937 | + } |
|---|
| 938 | + |
|---|
| 936 | 939 | dev_info(&pci_dev->dev, |
|---|
| 937 | 940 | "netup_unidvb: device has been initialized\n"); |
|---|
| 938 | 941 | return 0; |
|---|
| .. | .. |
|---|
| 951 | 954 | dma_free_coherent(&pci_dev->dev, ndev->dma_size, |
|---|
| 952 | 955 | ndev->dma_virt, ndev->dma_phys); |
|---|
| 953 | 956 | dma_alloc_err: |
|---|
| 954 | | - free_irq(pci_dev->irq, pci_dev); |
|---|
| 955 | | -irq_request_err: |
|---|
| 956 | 957 | iounmap(ndev->lmmio1); |
|---|
| 957 | 958 | pci_bar1_error: |
|---|
| 958 | 959 | iounmap(ndev->lmmio0); |
|---|