|
@@ -39,44 +39,6 @@ static const char * const iw_operation_mode[] = {
|
|
|
"Auto", "Ad-Hoc", "Managed", "Master", "Repeater", "Secondary", "Monitor"
|
|
|
};
|
|
|
|
|
|
-static int hex2num_i(char c)
|
|
|
-{
|
|
|
- if (c >= '0' && c <= '9')
|
|
|
- return c - '0';
|
|
|
- if (c >= 'a' && c <= 'f')
|
|
|
- return c - 'a' + 10;
|
|
|
- if (c >= 'A' && c <= 'F')
|
|
|
- return c - 'A' + 10;
|
|
|
- return -1;
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * hwaddr_aton - Convert ASCII string to MAC address
|
|
|
- * @txt: MAC address as a string (e.g., "00:11:22:33:44:55")
|
|
|
- * @addr: Buffer for the MAC address (ETH_ALEN = 6 bytes)
|
|
|
- * Returns: 0 on success, -1 on failure (e.g., string not a MAC address)
|
|
|
- */
|
|
|
-static int hwaddr_aton_i(const char *txt, u8 *addr)
|
|
|
-{
|
|
|
- int i;
|
|
|
-
|
|
|
- for (i = 0; i < 6; i++) {
|
|
|
- int a, b;
|
|
|
-
|
|
|
- a = hex2num_i(*txt++);
|
|
|
- if (a < 0)
|
|
|
- return -1;
|
|
|
- b = hex2num_i(*txt++);
|
|
|
- if (b < 0)
|
|
|
- return -1;
|
|
|
- *addr++ = (a << 4) | b;
|
|
|
- if (i < 5 && *txt++ != ':')
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
void indicate_wx_scan_complete_event(struct adapter *padapter)
|
|
|
{
|
|
|
union iwreq_data wrqu;
|
|
@@ -2567,8 +2529,7 @@ static int rtw_get_ap_info(struct net_device *dev,
|
|
|
|
|
|
pnetwork = LIST_CONTAINOR(plist, struct wlan_network, list);
|
|
|
|
|
|
- /* if (hwaddr_aton_i(pdata->pointer, bssid)) */
|
|
|
- if (hwaddr_aton_i(data, bssid)) {
|
|
|
+ if (!mac_pton(data, bssid)) {
|
|
|
DBG_871X("Invalid BSSID '%s'.\n", (u8 *)data);
|
|
|
spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
|
|
|
return -EINVAL;
|