mac80211: return an error when SIWRATE doesn't match any rate

Currently mac80211 fails silently when trying to set a nonexistent
rate.  Return an error instead.

Signed-Off-By: Andy Lutomirski <luto@myrealbox.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Andrew Lutomirski 2008-01-03 21:03:19 -08:00 committed by David S. Miller
parent 87c4ac841c
commit 5cdfed54e7
1 changed files with 3 additions and 3 deletions

View File

@ -591,7 +591,7 @@ static int ieee80211_ioctl_siwrate(struct net_device *dev,
sdata->bss->force_unicast_rateidx = -1;
if (rate->value < 0)
return 0;
for (i=0; i< mode->num_rates; i++) {
for (i=0; i < mode->num_rates; i++) {
struct ieee80211_rate *rates = &mode->rates[i];
int this_rate = rates->rate;
@ -599,10 +599,10 @@ static int ieee80211_ioctl_siwrate(struct net_device *dev,
sdata->bss->max_ratectrl_rateidx = i;
if (rate->fixed)
sdata->bss->force_unicast_rateidx = i;
break;
return 0;
}
}
return 0;
return -EINVAL;
}
static int ieee80211_ioctl_giwrate(struct net_device *dev,