return 0;
        }
 
-       /* If we do not have an ESSID for this AP, we can not associate with
-        * it */
-       if (network->flags & NETWORK_EMPTY_ESSID) {
-               IPW_DEBUG_MERGE("Network '%s (%pM)' excluded "
-                               "because of hidden ESSID.\n",
-                               escape_ssid(network->ssid, network->ssid_len),
-                               network->bssid);
-               return 0;
-       }
-
        if (unlikely(roaming)) {
                /* If we are roaming, then ensure check if this is a valid
                 * network to try and roam to */
                return 0;
        }
 
-       /* If we do not have an ESSID for this AP, we can not associate with
-        * it */
-       if (network->flags & NETWORK_EMPTY_ESSID) {
-               IPW_DEBUG_ASSOC("Network '%s (%pM)' excluded "
-                               "because of hidden ESSID.\n",
-                               escape_ssid(network->ssid, network->ssid_len),
-                               network->bssid);
-               return 0;
-       }
-
        if (unlikely(roaming)) {
                /* If we are roaming, then ensure check if this is a valid
                 * network to try and roam to */
        if ((priv->status & STATUS_ASSOCIATED) &&
            (priv->ieee->iw_mode == IW_MODE_ADHOC) && (active_network == 0)) {
                if (memcmp(network->bssid, priv->bssid, ETH_ALEN))
-                       if ((network->capability & WLAN_CAPABILITY_IBSS) &&
-                           !(network->flags & NETWORK_EMPTY_ESSID))
+                       if (network->capability & WLAN_CAPABILITY_IBSS)
                                if ((network->ssid_len ==
                                     priv->assoc_network->ssid_len) &&
                                    !memcmp(network->ssid,
 
 
 #define MAX_WPA_IE_LEN 64
 
-#define NETWORK_EMPTY_ESSID    (1<<0)
 #define NETWORK_HAS_OFDM       (1<<1)
 #define NETWORK_HAS_CCK        (1<<2)
 
 
  * messages. It should never be used for passing ssid to user space. */
 const char *escape_ssid(const char *ssid, u8 ssid_len);
 
-static inline int is_empty_ssid(const char *ssid, int ssid_len)
-{
-       /* Single white space is for Linksys APs */
-       if (ssid_len == 1 && ssid[0] == ' ')
-               return 1;
-
-       /* Otherwise, if the entire ssid is 0, we assume it is hidden */
-       while (ssid_len) {
-               ssid_len--;
-               if (ssid[ssid_len] != '\0')
-                       return 0;
-       }
-
-       return 1;
-}
-
 #endif /* LIB80211_H */
 
 
                switch (info_element->id) {
                case MFIE_TYPE_SSID:
-                       if (is_empty_ssid(info_element->data,
-                                         info_element->len)) {
-                               network->flags |= NETWORK_EMPTY_ESSID;
-                               break;
-                       }
-
                        network->ssid_len = min(info_element->len,
                                                (u8) IW_ESSID_MAX_SIZE);
                        memcpy(network->ssid, info_element->data,
                                       IW_ESSID_MAX_SIZE - network->ssid_len);
 
                        IEEE80211_DEBUG_MGMT("MFIE_TYPE_SSID: '%s' len=%d.\n",
-                                            network->ssid, network->ssid_len);
+                                            escape_ssid(network->ssid),
+                                            network->ssid_len);
                        break;
 
                case MFIE_TYPE_RATES:
                        network->mode |= IEEE_B;
        }
 
-       if (is_empty_ssid(network->ssid, network->ssid_len))
-               network->flags |= NETWORK_EMPTY_ESSID;
-
        memcpy(&network->stats, stats, sizeof(network->stats));
 
        if (ieee->handle_assoc_response != NULL)
                return 1;
        }
 
-       if (is_empty_ssid(network->ssid, network->ssid_len))
-               network->flags |= NETWORK_EMPTY_ESSID;
-
        memcpy(&network->stats, stats, sizeof(network->stats));
 
        return 0;
 
        /* Add the ESSID */
        iwe.cmd = SIOCGIWESSID;
        iwe.u.data.flags = 1;
-       if (network->flags & NETWORK_EMPTY_ESSID) {
-               iwe.u.data.length = sizeof("<hidden>");
-               start = iwe_stream_add_point(info, start, stop,
-                                            &iwe, "<hidden>");
-       } else {
-               iwe.u.data.length = min(network->ssid_len, (u8) 32);
-               start = iwe_stream_add_point(info, start, stop,
-                                            &iwe, network->ssid);
-       }
+       iwe.u.data.length = min(network->ssid_len, (u8) 32);
+       start = iwe_stream_add_point(info, start, stop,
+                                    &iwe, network->ssid);
 
        /* Add the protocol name */
        iwe.cmd = SIOCGIWNAME;
 
        const char *s = ssid;
        char *d = escaped;
 
-       if (is_empty_ssid(ssid, ssid_len)) {
-               memcpy(escaped, "<hidden>", sizeof("<hidden>"));
-               return escaped;
-       }
-
        ssid_len = min_t(u8, ssid_len, IEEE80211_MAX_SSID_LEN);
        while (ssid_len--) {
                if (*s == '\0') {