summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>2005-11-06 19:40:51 +0000
committerBill Paul <wpaul@FreeBSD.org>2005-11-06 19:40:51 +0000
commitd0fc093a1264fb6c63cb7795d40ab3483bae5c21 (patch)
tree61c775392e8932e6ed15cd51d25b94c6f327f9aa /sys/dev
parentf1625c4c597ba8cad9208bf9de54290d8c734ee0 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/if_ndis/if_ndis.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index 938ff4e8fc37..00c5216f59f4 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -2506,12 +2506,11 @@ ndis_get_assoc(sc, assoc)
device_printf(sc->ndis_dev, "failed to get bssid\n");
return(ENOENT);
}
- len = 0;
+
+ len = 4;
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, NULL, &len);
- if (error != ENOSPC) {
- device_printf(sc->ndis_dev, "bssid_list failed\n");
- return (error);
- }
+ if (error != ENOSPC)
+ len = 65536;
bl = malloc(len, M_TEMP, M_NOWAIT|M_ZERO);
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, bl, &len);
@@ -2978,7 +2977,7 @@ ndis_wi_ioctl_get(ifp, command, data)
len = 0;
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, NULL, &len);
if (error != ENOSPC)
- break;
+ len = 65536;
bl = malloc(len, M_DEVBUF, M_NOWAIT|M_ZERO);
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, bl, &len);
if (error) {
@@ -3097,7 +3096,7 @@ ndis_80211_ioctl_get(struct ifnet *ifp, u_long command, caddr_t data)
len = 0;
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, NULL, &len);
if (error != ENOSPC)
- break;
+ len = 65536;
bl = malloc(len, M_DEVBUF, M_NOWAIT | M_ZERO);
error = ndis_get_info(sc, OID_802_11_BSSID_LIST, bl, &len);
if (error) {