diff options
author | Marcos Paulo de Souza <marcos.mage@gmail.com> | 2011-12-28 21:18:31 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-09 09:18:27 -0800 |
commit | 2fdde902ca4b19d051c5fa15f81dd6d900551db8 (patch) | |
tree | b68546b33a3466b9cbde9afd1125ff239450710a /drivers/staging/vt6656 | |
parent | 739ea07640f4dd3cc440b836ad6a88388c2dcf28 (diff) | |
download | linux-2fdde902ca4b19d051c5fa15f81dd6d900551db8.tar.bz2 |
staging: vt6656: iwctl.c: Rewrite siwrts funciton
This function has the following issues:
Parameter info and extra are not used
Wrong error handling(the function not return -EINVAL when it
happens)
This patch simplifies this funtion, remove the not used parameters and
fix the error handilng.
Signed-off-by: Marcos Paulo de Souza <marcos.mage@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656')
-rw-r--r-- | drivers/staging/vt6656/iwctl.c | 26 | ||||
-rw-r--r-- | drivers/staging/vt6656/iwctl.h | 5 | ||||
-rw-r--r-- | drivers/staging/vt6656/main_usb.c | 2 |
3 files changed, 11 insertions, 22 deletions
diff --git a/drivers/staging/vt6656/iwctl.c b/drivers/staging/vt6656/iwctl.c index 4f33b0c0812a..b24e5314a6af 100644 --- a/drivers/staging/vt6656/iwctl.c +++ b/drivers/staging/vt6656/iwctl.c @@ -1010,27 +1010,19 @@ void iwctl_giwrate(struct net_device *dev, /* * Wireless Handler : set rts threshold */ - int iwctl_siwrts(struct net_device *dev, - struct iw_request_info *info, - struct iw_param *wrq, - char *extra) + struct iw_param *wrq) { - PSDevice pDevice = (PSDevice)netdev_priv(dev); - int rc = 0; + PSDevice pDevice = (PSDevice)netdev_priv(dev); - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCSIWRTS \n"); + if ((wrq->value < 0 || wrq->value > 2312) && !wrq->disabled) + return -EINVAL; - { - int rthr = wrq->value; - if(wrq->disabled) - rthr = 2312; - if((rthr < 0) || (rthr > 2312)) { - rc = -EINVAL; - }else { - pDevice->wRTSThreshold = rthr; - } - } + else if (wrq->disabled) + pDevice->wRTSThreshold = 2312; + + else + pDevice->wRTSThreshold = wrq->value; return 0; } diff --git a/drivers/staging/vt6656/iwctl.h b/drivers/staging/vt6656/iwctl.h index bd38e9dc6f33..0c6e0496779b 100644 --- a/drivers/staging/vt6656/iwctl.h +++ b/drivers/staging/vt6656/iwctl.h @@ -113,10 +113,7 @@ void iwctl_giwrate(struct net_device *dev, char *extra); int iwctl_siwrts(struct net_device *dev, - struct iw_request_info *info, - struct iw_param *wrq, - char *extra); - + struct iw_param *wrq); int iwctl_giwrts(struct net_device *dev, struct iw_request_info *info, diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 33a451c6ac18..763e028a5cc5 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -1704,7 +1704,7 @@ static int device_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { // Set the desired RTS threshold case SIOCSIWRTS: - rc = iwctl_siwrts(dev, NULL, &(wrq->u.rts), NULL); + rc = iwctl_siwrts(dev, &(wrq->u.rts)); break; // Get the current RTS threshold |