diff options
Diffstat (limited to 'testing/wireless_tools/dense.patch')
-rw-r--r-- | testing/wireless_tools/dense.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/testing/wireless_tools/dense.patch b/testing/wireless_tools/dense.patch deleted file mode 100644 index 85182cd82..000000000 --- a/testing/wireless_tools/dense.patch +++ /dev/null @@ -1,49 +0,0 @@ -The length field of wext data (iw_point.data) is 16 bits. The largest -value is thus 65535. During the attempts to increase buffer size the -buffer starts at 4096 and is doubled after each failure to fill. From the -time this length reaches 65536 it is effectively zero. We thus loose all -potential space from 32768 to 65535. - -This problem is clear when scanning in a RF dense environment. - -Without this patch: -~$ iwlist wlan0 scan -print_scanning_info: Allocation failed - -With this patch: -~$ iwlist wlan0 scan | grep Cell | wc -l -86 - -Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> - ---- -A similar patch was recently created to fix wpa_supplicant. - -I could not find a source code repo for this code and created this patch -against version 30-pre7 downloaded from -http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html - -diff -uprN wireless_tools_org/wireless_tools.30/iwlist.c wireless_tools.30/iwlist.c ---- wireless_tools_org/wireless_tools.30/iwlist.c 2008-01-16 17:45:41.000000000 -0800 -+++ wireless_tools.30/iwlist.c 2009-02-12 14:16:48.000000000 -0800 -@@ -800,7 +800,7 @@ print_scanning_info(int skfd, - if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) - { - /* Check if buffer was too small (WE-17 only) */ -- if((errno == E2BIG) && (range.we_version_compiled > 16)) -+ if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535)) - { - /* Some driver may return very large scan results, either - * because there are many cells, or because they have many -@@ -816,6 +816,10 @@ print_scanning_info(int skfd, - else - buflen *= 2; - -+ /* wrq.u.data.length is 16 bits so max size is 65535 */ -+ if(buflen > 65535) -+ buflen = 65535; -+ - /* Try again */ - goto realloc; - } - |