Commit 2fdde902 authored by Marcos Paulo de Souza's avatar Marcos Paulo de Souza Committed by Greg Kroah-Hartman
Browse files

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: default avatarMarcos Paulo de Souza <marcos.mage@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 739ea076
Loading
Loading
Loading
Loading
+9 −17
Original line number Diff line number Diff line
@@ -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;

    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;
}
+1 −4
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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