summaryrefslogtreecommitdiff
path: root/sys/dev/if_ndis
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>2005-11-06 19:38:34 +0000
committerBill Paul <wpaul@FreeBSD.org>2005-11-06 19:38:34 +0000
commitb5b548a6bcb9799af3796a906b115bca42a541d4 (patch)
tree153224467d1e530671ca2e61456fbdcbd87a02ae /sys/dev/if_ndis
parent506df56c79f29dd0863b11a7c16b05b87b831854 (diff)
Notes
Diffstat (limited to 'sys/dev/if_ndis')
-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) {