diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 60e6db6f5da2bfe7f8ea785504713442bedccf8e..729677e18e364fbff1d66e89fb93450d592f55e8 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -585,8 +585,8 @@ static void pstore_console_write(struct console *con, const char *s, unsigned c)
 		} else {
 			spin_lock_irqsave(&psinfo->buf_lock, flags);
 		}
-		memcpy(psinfo->buf, s, c);
-		psinfo->write(PSTORE_TYPE_CONSOLE, 0, &id, 0, 0, 0, c, psinfo);
+		psinfo->write_buf(PSTORE_TYPE_CONSOLE, 0, &id, 0,
+				  s, 0, c, psinfo);
 		spin_unlock_irqrestore(&psinfo->buf_lock, flags);
 		s += c;
 		c = e - s;