| .. | .. |
|---|
| 711 | 711 | if (!chan) { |
|---|
| 712 | 712 | dev_err(priv->port.dev, "%s:dma_request_channel FAILS(Tx)\n", |
|---|
| 713 | 713 | __func__); |
|---|
| 714 | + pci_dev_put(dma_dev); |
|---|
| 714 | 715 | return; |
|---|
| 715 | 716 | } |
|---|
| 716 | 717 | priv->chan_tx = chan; |
|---|
| .. | .. |
|---|
| 727 | 728 | __func__); |
|---|
| 728 | 729 | dma_release_channel(priv->chan_tx); |
|---|
| 729 | 730 | priv->chan_tx = NULL; |
|---|
| 731 | + pci_dev_put(dma_dev); |
|---|
| 730 | 732 | return; |
|---|
| 731 | 733 | } |
|---|
| 732 | 734 | |
|---|
| .. | .. |
|---|
| 734 | 736 | priv->rx_buf_virt = dma_alloc_coherent(port->dev, port->fifosize, |
|---|
| 735 | 737 | &priv->rx_buf_dma, GFP_KERNEL); |
|---|
| 736 | 738 | priv->chan_rx = chan; |
|---|
| 739 | + |
|---|
| 740 | + pci_dev_put(dma_dev); |
|---|
| 737 | 741 | } |
|---|
| 738 | 742 | |
|---|
| 739 | 743 | static void pch_dma_rx_complete(void *arg) |
|---|
| .. | .. |
|---|
| 765 | 769 | } |
|---|
| 766 | 770 | xmit->tail &= UART_XMIT_SIZE - 1; |
|---|
| 767 | 771 | async_tx_ack(priv->desc_tx); |
|---|
| 768 | | - dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE); |
|---|
| 772 | + dma_unmap_sg(port->dev, priv->sg_tx_p, priv->orig_nent, DMA_TO_DEVICE); |
|---|
| 769 | 773 | priv->tx_dma_use = 0; |
|---|
| 770 | 774 | priv->nent = 0; |
|---|
| 771 | 775 | priv->orig_nent = 0; |
|---|