aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/bcm/InterfaceDld.c
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-10-08 14:56:58 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-08 07:29:56 -0700
commitef5d2056456d63528daa762b32afa5c430635f33 (patch)
tree41260a2195c083844c08257f53090f30d70fe69a /drivers/staging/bcm/InterfaceDld.c
parentStaging: bcm: dereferencing before checking (diff)
downloadlinux-dev-ef5d2056456d63528daa762b32afa5c430635f33.tar.xz
linux-dev-ef5d2056456d63528daa762b32afa5c430635f33.zip
Staging: bcm: return -EFAULT on copy_to_user() errors
bcm/InterfaceDld.c had a couple places which returned the number of bytes remaining instead of -EFAULT. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/bcm/InterfaceDld.c')
-rw-r--r--drivers/staging/bcm/InterfaceDld.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/bcm/InterfaceDld.c b/drivers/staging/bcm/InterfaceDld.c
index 8825b8e4460b..60c0f29f3eef 100644
--- a/drivers/staging/bcm/InterfaceDld.c
+++ b/drivers/staging/bcm/InterfaceDld.c
@@ -167,7 +167,7 @@ static int bcm_download_config_file(PMINI_ADAPTER Adapter,
{
bcm_kfree (Adapter->pstargetparams);
Adapter->pstargetparams = NULL;
- return retval;
+ return -EFAULT;
}
/* Parse the structure and then Download the Firmware */
beceem_parse_target_struct(Adapter);
@@ -385,6 +385,7 @@ int bcm_ioctl_fw_download(PMINI_ADAPTER Adapter, FIRMWARE_INFO *psFwInfo)
if(retval != STATUS_SUCCESS)
{
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, MP_INIT, DBG_LVL_ALL, "copying buffer from user space failed");
+ retval = -EFAULT;
goto error ;
}