set Package/rt2800-pci to BROKEN
[openwrt.git] / package / wpa_supplicant / patches / 120-ssid_scan.patch
1 Don't do broadcast SSID scans, if all configured SSIDs use scan_ssid=1. Improves background scanning in supplicant-managed roaming.
2
3 Index: wpa_supplicant-0.6.3/wpa_supplicant/scan.c
4 ===================================================================
5 --- wpa_supplicant-0.6.3.orig/wpa_supplicant/scan.c     2008-07-09 18:53:28.000000000 +0200
6 +++ wpa_supplicant-0.6.3/wpa_supplicant/scan.c  2008-07-09 19:00:55.000000000 +0200
7 @@ -48,11 +48,23 @@
8         int enabled, scan_req = 0, ret;
9         const u8 *extra_ie = NULL;
10         size_t extra_ie_len = 0;
11 +       int scan_ssid_all = 1;
12  
13         if (wpa_s->disconnected && !wpa_s->scan_req)
14                 return;
15  
16         enabled = 0;
17 +
18 +       /* check if all configured ssids should be scanned directly */
19 +       ssid = wpa_s->conf->ssid;
20 +       while (ssid) {
21 +               if (!ssid->scan_ssid) {
22 +                       scan_ssid_all = 0;
23 +                       break;
24 +               }
25 +               ssid = ssid->next;
26 +       }
27 +
28         ssid = wpa_s->conf->ssid;
29         while (ssid) {
30                 if (!ssid->disabled) {
31 @@ -125,6 +137,10 @@
32                 return;
33         }
34  
35 +       if (scan_ssid_all && !ssid) {
36 +               ssid = wpa_s->conf->ssid;
37 +       }
38 +
39         wpa_printf(MSG_DEBUG, "Starting AP scan (%s SSID)",
40                    ssid ? "specific": "broadcast");
41         if (ssid) {