aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/ioctl.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-05-25 21:59:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2007-06-11 14:28:43 -0400
commit94b23855c034ffa50e1f94f43ef4500520e4c36e (patch)
tree5a1369eb2732dde850d562b96318cda32ecb68d5 /drivers/net/wireless/libertas/ioctl.c
parent[PATCH] libertas: correctly balance locking in libertas_process_rx_command (diff)
downloadlinux-dev-94b23855c034ffa50e1f94f43ef4500520e4c36e.tar.xz
linux-dev-94b23855c034ffa50e1f94f43ef4500520e4c36e.zip
[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>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/libertas/ioctl.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/wireless/libertas/ioctl.c b/drivers/net/wireless/libertas/ioctl.c
index cfb4752b3bce..a59d26ba6c70 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;
}
/**