}
 
 static int idetape_copy_stage_to_user(idetape_tape_t *tape, char __user *buf,
-               idetape_stage_t *stage, int n)
+                                     int n)
 {
        struct idetape_bh *bh = tape->bh;
        int count;
        if (tape->merge_stage_size) {
                actually_read = min((unsigned int)(tape->merge_stage_size),
                                    (unsigned int)count);
-               if (idetape_copy_stage_to_user(tape, buf, tape->merge_stage,
-                                              actually_read))
+               if (idetape_copy_stage_to_user(tape, buf, actually_read))
                        ret = -EFAULT;
                buf += actually_read;
                tape->merge_stage_size -= actually_read;
                bytes_read = idetape_add_chrdev_read_request(drive, ctl);
                if (bytes_read <= 0)
                        goto finish;
-               if (idetape_copy_stage_to_user(tape, buf, tape->merge_stage,
-                                              bytes_read))
+               if (idetape_copy_stage_to_user(tape, buf, bytes_read))
                        ret = -EFAULT;
                buf += bytes_read;
                count -= bytes_read;
                if (bytes_read <= 0)
                        goto finish;
                temp = min((unsigned long)count, (unsigned long)bytes_read);
-               if (idetape_copy_stage_to_user(tape, buf, tape->merge_stage,
-                                              temp))
+               if (idetape_copy_stage_to_user(tape, buf, temp))
                        ret = -EFAULT;
                actually_read += temp;
                tape->merge_stage_size = bytes_read-temp;