From a1ed99bc24f88f061d75eed0db84dc6355855dd2 Mon Sep 17 00:00:00 2001
From: Nelson Escobar <neescoba@cisco.com>
Date: Thu, 17 Mar 2016 15:48:13 -0700
Subject: [PATCH 13/22]     enic: add missing newline to print statements

    Add the missing '\n' character to the end of a few print statements.

    Fixes: fefed3d1e62c ("enic: new driver")

    Signed-off-by: Nelson Escobar <neescoba@cisco.com>
    Acked-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 9fff020..e30672c 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -342,13 +342,13 @@ enic_alloc_rx_queue_mbufs(struct enic *enic, struct vnic_rq *rq)
 	unsigned i;
 	dma_addr_t dma_addr;
 
-	dev_debug(enic, "queue %u, allocating %u rx queue mbufs", rq->index,
+	dev_debug(enic, "queue %u, allocating %u rx queue mbufs\n", rq->index,
 		  rq->ring.desc_count);
 
 	for (i = 0; i < rq->ring.desc_count; i++, rqd++) {
 		mb = rte_rxmbuf_alloc(rq->mp);
 		if (mb == NULL) {
-			dev_err(enic, "RX mbuf alloc failed queue_id=%u",
+			dev_err(enic, "RX mbuf alloc failed queue_id=%u\n",
 			(unsigned)rq->index);
 			return -ENOMEM;
 		}
@@ -388,7 +388,7 @@ enic_alloc_consistent(__rte_unused void *priv, size_t size,
 	rz = rte_memzone_reserve_aligned((const char *)name,
 					 size, SOCKET_ID_ANY, 0, ENIC_ALIGN);
 	if (!rz) {
-		pr_err("%s : Failed to allocate memory requested for %s",
+		pr_err("%s : Failed to allocate memory requested for %s\n",
 			__func__, name);
 		return NULL;
 	}
-- 
1.9.1

