Skip to content

Commit

Permalink
[PATCH] Prism54 : add bitrates to scan result
Browse files Browse the repository at this point in the history
This patch adds bitrate information to the scan result in the Prism54
driver, like some/most other driver do.

Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Jean Tourrilhes authored and John W. Linville committed Sep 11, 2006
1 parent 4e1bbd8 commit bd6dd75
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions drivers/net/wireless/prism54/isl_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ static size_t prism54_wpa_bss_ie_get(islpci_private *priv, u8 *bssid, u8 *wpa_ie
static int prism54_set_wpa(struct net_device *, struct iw_request_info *,
__u32 *, char *);

/* In 500 kbps */
static const unsigned char scan_rate_list[] = { 2, 4, 11, 22,
12, 18, 24, 36,
48, 72, 96, 108 };

/**
* prism54_mib_mode_helper - MIB change mode helper function
Expand Down Expand Up @@ -644,6 +648,32 @@ prism54_translate_bss(struct net_device *ndev, char *current_ev,
current_ev = iwe_stream_add_point(current_ev, end_buf,
&iwe, wpa_ie);
}
/* Do the bitrates */
{
char * current_val = current_ev + IW_EV_LCP_LEN;
int i;
int mask;

iwe.cmd = SIOCGIWRATE;
/* Those two flags are ignored... */
iwe.u.bitrate.fixed = iwe.u.bitrate.disabled = 0;

/* Parse the bitmask */
mask = 0x1;
for(i = 0; i < sizeof(scan_rate_list); i++) {
if(bss->rates & mask) {
iwe.u.bitrate.value = (scan_rate_list[i] * 500000);
current_val = iwe_stream_add_value(current_ev, current_val,
end_buf, &iwe,
IW_EV_PARAM_LEN);
}
mask <<= 1;
}
/* Check if we added any event */
if ((current_val - current_ev) > IW_EV_LCP_LEN)
current_ev = current_val;
}

return current_ev;
}

Expand Down

0 comments on commit bd6dd75

Please sign in to comment.