Changeset 2280
- Timestamp:
- 04/21/07 03:52:56 (5 years ago)
- Files:
-
- trunk/net80211/ieee80211_wireless.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/net80211/ieee80211_wireless.c
r2277 r2280 1464 1464 IEEE80211_ADDR_COPY(req->addr[i].sa_data, se->se_bssid); 1465 1465 set_quality(&req->qual[i], se->se_rssi, -95); 1466 req->i = i + 1;1466 req->i++; 1467 1467 1468 1468 return 0; … … 2079 2079 struct ieee80211com *ic = vap->iv_ic; 2080 2080 struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; 2081 int *i = (int *) extra;2082 int param = i[0]; /* parameter id is 1st */2083 int value = i[1]; /* NB: most values are TYPE_INT */2081 unsigned int *i = (unsigned int *) extra; 2082 unsigned int param = i[0]; /* parameter id is 1st */ 2083 unsigned int value = i[1]; /* NB: most values are TYPE_INT */ 2084 2084 int retv = 0; 2085 2085 int j, caps; … … 2139 2139 break; 2140 2140 case IEEE80211_PARAM_MCASTKEYLEN: 2141 if ( !(0 < value && value <= IEEE80211_KEYBUF_SIZE))2141 if (value > IEEE80211_KEYBUF_SIZE) 2142 2142 return -EINVAL; 2143 2143 /* XXX no way to verify driver capability */ … … 2176 2176 break; 2177 2177 case IEEE80211_PARAM_UCASTKEYLEN: 2178 if ( !(0 < value && value <= IEEE80211_KEYBUF_SIZE))2178 if (value > IEEE80211_KEYBUF_SIZE) 2179 2179 return -EINVAL; 2180 2180 /* XXX no way to verify driver capability */ … … 2471 2471 break; 2472 2472 case IEEE80211_PARAM_COVERAGE_CLASS: 2473 if (value >= 0 && value<= IEEE80211_COVERAGE_CLASS_MAX) {2473 if (value <= IEEE80211_COVERAGE_CLASS_MAX) { 2474 2474 ic->ic_coverageclass = value; 2475 2475 if (IS_UP_AUTO(vap)) … … 2571 2571 /* set the same params on the xr vap device if exists */ 2572 2572 if (vap->iv_xrvap && !(vap->iv_flags & IEEE80211_F_XR)) { 2573 ieee80211_ioctl_setparam(vap->iv_xrvap->iv_dev, info,w,extra);2573 ieee80211_ioctl_setparam(vap->iv_xrvap->iv_dev, info, w, extra); 2574 2574 vap->iv_xrvap->iv_ath_cap &= IEEE80211_ATHC_XR; /* XR vap does not support any superG features */ 2575 2575 } … … 2650 2650 struct ieee80211com *ic = vap->iv_ic; 2651 2651 struct ieee80211_rsnparms *rsn = &vap->iv_bss->ni_rsn; 2652 int *param = (int *) extra;2652 unsigned int *param = (unsigned int *) extra; 2653 2653 2654 2654 switch (param[0]) { … … 2933 2933 if (vap->iv_opmode != IEEE80211_M_STA) 2934 2934 return -EINVAL; 2935 if (! is_valid_ie_list(wri->length, extra, 0))2935 if (!is_valid_ie_list(wri->length, extra, 0)) 2936 2936 return -EINVAL; 2937 2937 /* NB: wri->length is validated by the wireless extensions code */ … … 3627 3627 { 3628 3628 struct ieee80211vap *vap = dev->priv; 3629 int *param = (int *) extra;3630 int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE;3631 int bss = param[2];3629 unsigned int *param = (unsigned int *) extra; 3630 unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 3631 unsigned int bss = param[2]; 3632 3632 struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme; 3633 3633 3634 3634 switch (param[0]) { 3635 3635 case IEEE80211_WMMPARAMS_CWMIN: 3636 if (param[3] < 0 || param[3]> 15)3636 if (param[3] > 15) 3637 3637 return -EINVAL; 3638 3638 if (bss) { … … 3647 3647 break; 3648 3648 case IEEE80211_WMMPARAMS_CWMAX: 3649 if (param[3] < 0 || param[3]> 15)3649 if (param[3] > 15) 3650 3650 return -EINVAL; 3651 3651 if (bss) { … … 3660 3660 break; 3661 3661 case IEEE80211_WMMPARAMS_AIFS: 3662 if (param[3] < 0 || param[3]> 15)3662 if (param[3] > 15) 3663 3663 return -EINVAL; 3664 3664 if (bss) { … … 3673 3673 break; 3674 3674 case IEEE80211_WMMPARAMS_TXOPLIMIT: 3675 if (param[3] < 0 || param[3]> 8192)3675 if (param[3] > 8192) 3676 3676 return -EINVAL; 3677 3677 if (bss) { … … 3690 3690 break; 3691 3691 case IEEE80211_WMMPARAMS_ACM: 3692 if (!bss || param[3] < 0 || param[3]> 1)3692 if (!bss || param[3] > 1) 3693 3693 return -EINVAL; 3694 3694 /* ACM bit applies to BSS case only */ … … 3698 3698 break; 3699 3699 case IEEE80211_WMMPARAMS_NOACKPOLICY: 3700 if (bss || param[3] < 0 || param[3]> 1)3700 if (bss || param[3] > 1) 3701 3701 return -EINVAL; 3702 3702 /* ack policy applies to non-BSS case only */ … … 3715 3715 { 3716 3716 struct ieee80211vap *vap = dev->priv; 3717 int *param = (int *) extra;3718 int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE;3717 unsigned int *param = (unsigned int *) extra; 3718 unsigned int ac = (param[1] < WME_NUM_AC) ? param[1] : WME_AC_BE; 3719 3719 struct ieee80211_wme_state *wme = &vap->iv_ic->ic_wme; 3720 3720 struct chanAccParams *chanParams = (param[2] == 0) ? … … 4096 4096 struct ieee80211vap *vap = dev->priv; 4097 4097 struct ieee80211com *ic = vap->iv_ic; 4098 int *param = (int *) extra;4098 unsigned int *param = (unsigned int *) extra; 4099 4099 4100 4100 if (!(ic->ic_flags & IEEE80211_F_DOTH))
