count = (dev->left_bytes > PAGE_SIZE) ?
                        PAGE_SIZE : dev->left_bytes;
 
-               if (!sg_pcopy_to_buffer(dev->first, dev->nents,
+               if (!sg_pcopy_to_buffer(dev->first, dev->src_nents,
                                        dev->addr_vir, count,
                                        dev->total - dev->left_bytes)) {
                        dev_err(dev->dev, "[%s:%d] pcopy err\n",
 
        dev->total = req->nbytes;
        dev->sg_src = req->src;
        dev->first = req->src;
-       dev->nents = sg_nents(req->src);
+       dev->src_nents = sg_nents(req->src);
        dev->sg_dst = req->dst;
+       dev->dst_nents = sg_nents(req->dst);
        dev->aligned = 1;
 
        spin_lock_irqsave(&dev->lock, flags);
 
        dev->unload_data(dev);
        if (!dev->aligned) {
-               if (!sg_pcopy_from_buffer(req->dst, dev->nents,
+               if (!sg_pcopy_from_buffer(req->dst, dev->dst_nents,
                                          dev->addr_vir, dev->count,
                                          dev->total - dev->left_bytes -
                                          dev->count)) {