hw->tx = t->tx_buf;
        hw->rx = t->rx_buf;
-       dma_tx_addr = t->tx_dma;
-       dma_rx_addr = t->rx_dma;
 
        /*
-        * check if buffers are already dma mapped, map them otherwise:
         * - first map the TX buffer, so cache data gets written to memory
         * - then map the RX buffer, so that cache entries (with
         *   soon-to-be-stale data) get removed
         * use temp rx buffer (preallocated or realloc to fit) for rx dma
         */
        if (t->tx_buf) {
-               if (t->tx_dma == 0) {   /* if DMA_ADDR_INVALID, map it */
-                       dma_tx_addr = dma_map_single(hw->dev,
-                                       (void *)t->tx_buf,
-                                       t->len, DMA_TO_DEVICE);
-                       if (dma_mapping_error(hw->dev, dma_tx_addr))
-                               dev_err(hw->dev, "tx dma map error\n");
-               }
+               dma_tx_addr = dma_map_single(hw->dev, (void *)t->tx_buf,
+                                            t->len, DMA_TO_DEVICE);
+               if (dma_mapping_error(hw->dev, dma_tx_addr))
+                       dev_err(hw->dev, "tx dma map error\n");
        }
 
        if (t->rx_buf) {
-               if (t->rx_dma == 0) {   /* if DMA_ADDR_INVALID, map it */
-                       dma_rx_addr = dma_map_single(hw->dev,
-                                       (void *)t->rx_buf,
-                                       t->len, DMA_FROM_DEVICE);
-                       if (dma_mapping_error(hw->dev, dma_rx_addr))
-                               dev_err(hw->dev, "rx dma map error\n");
-               }
+               dma_rx_addr = dma_map_single(hw->dev, (void *)t->rx_buf,
+                                            t->len, DMA_FROM_DEVICE);
+               if (dma_mapping_error(hw->dev, dma_rx_addr))
+                       dev_err(hw->dev, "rx dma map error\n");
        } else {
                if (t->len > hw->dma_rx_tmpbuf_size) {
                        int ret;
                        DMA_FROM_DEVICE);
        }
        /* unmap buffers if mapped above */
-       if (t->rx_buf && t->rx_dma == 0)
+       if (t->rx_buf)
                dma_unmap_single(hw->dev, dma_rx_addr, t->len,
                        DMA_FROM_DEVICE);
-       if (t->tx_buf && t->tx_dma == 0)
+       if (t->tx_buf)
                dma_unmap_single(hw->dev, dma_tx_addr, t->len,
                        DMA_TO_DEVICE);