Skip to content

Commit

Permalink
Staging: wlan-ng: p80211wext.c add latest changes & remove extra null…
Browse files Browse the repository at this point in the history
…s from wext_handlers

add the latest changes from wlan-ng-devel
remove 2 stray nulls from the wext_handler table introduced
by the tidy up patch.

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Richard Kennedy authored and Greg Kroah-Hartman committed Jan 6, 2009
1 parent 7b7e7e8 commit 46fa61f
Showing 1 changed file with 26 additions and 13 deletions.
39 changes: 26 additions & 13 deletions drivers/staging/wlan-ng/p80211wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,10 +548,13 @@ static int p80211wext_giwencode(netdevice_t *dev,

DBFENTER;

i = (erq->flags & IW_ENCODE_INDEX) - 1;
erq->flags = 0;

if (wlandev->hostwep & HOSTWEP_PRIVACYINVOKED)
erq->flags = IW_ENCODE_ENABLED;
erq->flags |= IW_ENCODE_ENABLED;
else
erq->flags = IW_ENCODE_DISABLED;
erq->flags |= IW_ENCODE_DISABLED;

if (wlandev->hostwep & HOSTWEP_EXCLUDEUNENCRYPTED)
erq->flags |= IW_ENCODE_RESTRICTED;
Expand Down Expand Up @@ -614,17 +617,24 @@ static int p80211wext_siwencode(netdevice_t *dev,
err = -EFAULT;
goto exit;
}
else {
enable = 1;

/* Set current key number only if no keys are given */
if (erq->flags & IW_ENCODE_NOKEY) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11WEPDefaultKeyID, i);

if (result) {
err = -EFAULT;
goto exit;
}
}

}
else {
// Do not thing when no Key Index
} else {
// Use defaultkey if no Key Index
i = wlandev->hostwep & HOSTWEP_DEFAULTKEY_MASK;
}

/* Check if there is no key information in the iwconfig request */
if((erq->flags & IW_ENCODE_NOKEY) == 0 && enable == 1) {
if((erq->flags & IW_ENCODE_NOKEY) == 0 ) {

/*------------------------------------------------------------
* If there is WEP Key for setting, check the Key Information
Expand Down Expand Up @@ -679,8 +689,7 @@ static int p80211wext_siwencode(netdevice_t *dev,
/* Check the PrivacyInvoked flag */
if (erq->flags & IW_ENCODE_DISABLED) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_false);
}
else if((erq->flags & IW_ENCODE_ENABLED) || enable == 1) {
} else {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11PrivacyInvoked, P80211ENUM_truth_true);
}

Expand All @@ -689,7 +698,13 @@ static int p80211wext_siwencode(netdevice_t *dev,
goto exit;
}

/* Check the ExcludeUnencrypted flag */
/* The security mode may be open or restricted, and its meaning
depends on the card used. With most cards, in open mode no
authentication is used and the card may also accept non-
encrypted sessions, whereas in restricted mode only encrypted
sessions are accepted and the card will use authentication if
available.
*/
if (erq->flags & IW_ENCODE_RESTRICTED) {
result = p80211wext_dorequest(wlandev, DIDmib_dot11smt_dot11PrivacyTable_dot11ExcludeUnencrypted, P80211ENUM_truth_true);
}
Expand Down Expand Up @@ -1746,8 +1761,6 @@ static iw_handler p80211wext_handlers[] = {
(iw_handler) NULL, /* SIOCGIWAPLIST */
(iw_handler) p80211wext_siwscan, /* SIOCSIWSCAN */
(iw_handler) p80211wext_giwscan, /* SIOCGIWSCAN */
(iw_handler) NULL, /* null */ /* SIOCSIWSCAN */
(iw_handler) NULL, /* null */ /* SIOCGIWSCAN */
(iw_handler) p80211wext_siwessid, /* SIOCSIWESSID */
(iw_handler) p80211wext_giwessid, /* SIOCGIWESSID */
(iw_handler) NULL, /* SIOCSIWNICKN */
Expand Down

0 comments on commit 46fa61f

Please sign in to comment.