> - for (; i >= 0; --i) > - ib_dma_unmap_single(priv->ca, mapping[i + 1], PAGE_SIZE, DMA_FROM_DEVICE); > + for (; i > 0; --i) > + ib_dma_unmap_single(priv->ca, mapping[i], PAGE_SIZE, DMA_FROM_DEVICE); Michael -- this looks rather clearly correct to me. Any objection to applying it? - R.