From 6c06d8ddf7a892519133fbb9b41adb159c54586a Mon Sep 17 00:00:00 2001 From: Kyle Yan Date: Tue, 7 Nov 2017 22:14:39 -0800 Subject: [PATCH] soc: qcom: service-locator: Fix error message prints for receiving messages ENOMSG is not a real failure return code for qmi_recv_msg. Instead ENOMSG signifies that we have finished reading the entirety of the message buffer. Update the error condition to print errors only when any error message other than ENOMSG is returned. Change-Id: Id6b42df182cb02f2cbffaae9698363b7dafce4e4 Signed-off-by: Kyle Yan --- drivers/soc/qcom/service-locator.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/soc/qcom/service-locator.c b/drivers/soc/qcom/service-locator.c index f19db5fe99b3..5b57fae605c2 100644 --- a/drivers/soc/qcom/service-locator.c +++ b/drivers/soc/qcom/service-locator.c @@ -149,11 +149,10 @@ static void service_locator_recv_msg(struct work_struct *work) do { pr_debug("Notified about a Receive event\n"); - ret = qmi_recv_msg(service_locator.clnt_handle); - if (ret < 0) - pr_err("Error receiving message rc:%d. Retrying...\n", - ret); - } while (ret == 0); + } while ((ret = qmi_recv_msg(service_locator.clnt_handle)) == 0); + + if (ret != -ENOMSG) + pr_err("Error receiving message rc:%d\n", ret); }