diff options
Diffstat (limited to 'drivers/net/wireless/prism54/isl_ioctl.c')
-rw-r--r-- | drivers/net/wireless/prism54/isl_ioctl.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index c09fbf733b3a..286325ca3293 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c | |||
@@ -742,9 +742,9 @@ prism54_set_essid(struct net_device *ndev, struct iw_request_info *info, | |||
742 | 742 | ||
743 | /* Check if we were asked for `any' */ | 743 | /* Check if we were asked for `any' */ |
744 | if (dwrq->flags && dwrq->length) { | 744 | if (dwrq->flags && dwrq->length) { |
745 | if (dwrq->length > min(33, IW_ESSID_MAX_SIZE + 1)) | 745 | if (dwrq->length > 32) |
746 | return -E2BIG; | 746 | return -E2BIG; |
747 | essid.length = dwrq->length - 1; | 747 | essid.length = dwrq->length; |
748 | memcpy(essid.octets, extra, dwrq->length); | 748 | memcpy(essid.octets, extra, dwrq->length); |
749 | } else | 749 | } else |
750 | essid.length = 0; | 750 | essid.length = 0; |
@@ -814,7 +814,7 @@ prism54_get_nick(struct net_device *ndev, struct iw_request_info *info, | |||
814 | dwrq->length = 0; | 814 | dwrq->length = 0; |
815 | 815 | ||
816 | down_read(&priv->mib_sem); | 816 | down_read(&priv->mib_sem); |
817 | dwrq->length = strlen(priv->nickname) + 1; | 817 | dwrq->length = strlen(priv->nickname); |
818 | memcpy(extra, priv->nickname, dwrq->length); | 818 | memcpy(extra, priv->nickname, dwrq->length); |
819 | up_read(&priv->mib_sem); | 819 | up_read(&priv->mib_sem); |
820 | 820 | ||
@@ -992,9 +992,9 @@ prism54_set_retry(struct net_device *ndev, struct iw_request_info *info, | |||
992 | return -EINVAL; | 992 | return -EINVAL; |
993 | 993 | ||
994 | if (vwrq->flags & IW_RETRY_LIMIT) { | 994 | if (vwrq->flags & IW_RETRY_LIMIT) { |
995 | if (vwrq->flags & IW_RETRY_MIN) | 995 | if (vwrq->flags & IW_RETRY_SHORT) |
996 | slimit = vwrq->value; | 996 | slimit = vwrq->value; |
997 | else if (vwrq->flags & IW_RETRY_MAX) | 997 | else if (vwrq->flags & IW_RETRY_LONG) |
998 | llimit = vwrq->value; | 998 | llimit = vwrq->value; |
999 | else { | 999 | else { |
1000 | /* we are asked to set both */ | 1000 | /* we are asked to set both */ |
@@ -1035,18 +1035,18 @@ prism54_get_retry(struct net_device *ndev, struct iw_request_info *info, | |||
1035 | mgt_get_request(priv, DOT11_OID_MAXTXLIFETIME, 0, NULL, &r); | 1035 | mgt_get_request(priv, DOT11_OID_MAXTXLIFETIME, 0, NULL, &r); |
1036 | vwrq->value = r.u * 1024; | 1036 | vwrq->value = r.u * 1024; |
1037 | vwrq->flags = IW_RETRY_LIFETIME; | 1037 | vwrq->flags = IW_RETRY_LIFETIME; |
1038 | } else if ((vwrq->flags & IW_RETRY_MAX)) { | 1038 | } else if ((vwrq->flags & IW_RETRY_LONG)) { |
1039 | /* we are asked for the long retry limit */ | 1039 | /* we are asked for the long retry limit */ |
1040 | rvalue |= | 1040 | rvalue |= |
1041 | mgt_get_request(priv, DOT11_OID_LONGRETRIES, 0, NULL, &r); | 1041 | mgt_get_request(priv, DOT11_OID_LONGRETRIES, 0, NULL, &r); |
1042 | vwrq->value = r.u; | 1042 | vwrq->value = r.u; |
1043 | vwrq->flags = IW_RETRY_LIMIT | IW_RETRY_MAX; | 1043 | vwrq->flags = IW_RETRY_LIMIT | IW_RETRY_LONG; |
1044 | } else { | 1044 | } else { |
1045 | /* default. get the short retry limit */ | 1045 | /* default. get the short retry limit */ |
1046 | rvalue |= | 1046 | rvalue |= |
1047 | mgt_get_request(priv, DOT11_OID_SHORTRETRIES, 0, NULL, &r); | 1047 | mgt_get_request(priv, DOT11_OID_SHORTRETRIES, 0, NULL, &r); |
1048 | vwrq->value = r.u; | 1048 | vwrq->value = r.u; |
1049 | vwrq->flags = IW_RETRY_LIMIT | IW_RETRY_MIN; | 1049 | vwrq->flags = IW_RETRY_LIMIT | IW_RETRY_SHORT; |
1050 | } | 1050 | } |
1051 | 1051 | ||
1052 | return rvalue; | 1052 | return rvalue; |