From: Dan Williams <dcbw@redhat.com>
Date: Sat, 26 May 2007 01:59:29 +0000 (-0400)
Subject: [PATCH] libertas: correct error report paths for wlan_fwt_list_ioctl
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=94b23855c034ffa50e1f94f43ef4500520e4c36e;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

[PATCH] libertas: correct error report paths for wlan_fwt_list_ioctl

Ensure the leave debug print gets triggered when necessary.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/libertas/ioctl.c b/drivers/net/wireless/libertas/ioctl.c
index cfb4752b3bc..a59d26ba6c7 100644
--- a/drivers/net/wireless/libertas/ioctl.c
+++ b/drivers/net/wireless/libertas/ioctl.c
@@ -603,12 +603,14 @@ static int wlan_fwt_list_ioctl(wlan_private * priv, struct ifreq *req)
 	char *ptr = in_str;
 	static char out_str[128];
 	char *pbuf = out_str;
-	int ret;
+	int ret = 0;
 
 	lbs_deb_enter(LBS_DEB_IOCTL);
 
-	if (copy_from_user(in_str, wrq->u.data.pointer, sizeof(in_str)))
-		return -EFAULT;
+	if (copy_from_user(in_str, wrq->u.data.pointer, sizeof(in_str))) {
+		ret = -EFAULT;
+		goto out;
+	}
 
 	fwt_access.id = cpu_to_le32(simple_strtoul(ptr, &ptr, 10));
 
@@ -632,11 +634,15 @@ static int wlan_fwt_list_ioctl(wlan_private * priv, struct ifreq *req)
 	if (copy_to_user(wrq->u.data.pointer, (char *)out_str,
 			 wrq->u.data.length)) {
 		lbs_deb_ioctl("FWT_LIST: Copy to user failed!\n");
-		return -EFAULT;
+		ret = -EFAULT;
+		goto out;
 	}
 
+	ret = 0;
+
+out:
 	lbs_deb_leave(LBS_DEB_IOCTL);
-	return 0;
+	return ret;
 }
 
 /**