}
         ffdc_iov.iov_base = ffdc;
        ffdc_iov.iov_len = SBEFIFO_MAX_FFDC_SIZE;
-        iov_iter_kvec(&ffdc_iter, WRITE, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
+        iov_iter_kvec(&ffdc_iter, READ, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE);
        cmd[0] = cpu_to_be32(2);
        cmd[1] = cpu_to_be32(SBEFIFO_CMD_GET_SBE_FFDC);
        rc = sbefifo_do_command(sbefifo, cmd, 2, &ffdc_iter);
        rbytes = (*resp_len) * sizeof(__be32);
        resp_iov.iov_base = response;
        resp_iov.iov_len = rbytes;
-        iov_iter_kvec(&resp_iter, WRITE, &resp_iov, 1, rbytes);
+        iov_iter_kvec(&resp_iter, READ, &resp_iov, 1, rbytes);
 
        /* Perform the command */
        rc = mutex_lock_interruptible(&sbefifo->lock);
        /* Prepare iov iterator */
        resp_iov.iov_base = buf;
        resp_iov.iov_len = len;
-       iov_iter_init(&resp_iter, WRITE, &resp_iov, 1, len);
+       iov_iter_init(&resp_iter, READ, &resp_iov, 1, len);
 
        /* Perform the command */
        rc = mutex_lock_interruptible(&sbefifo->lock);