bcn = (struct bss_info_bcn *)tlv;
        bcn->enable = true;
 
-       if (changed & BSS_CHANGED_FILS_DISCOVERY &&
-           vif->bss_conf.fils_discovery.max_interval) {
+       if (changed & BSS_CHANGED_FILS_DISCOVERY) {
                interval = vif->bss_conf.fils_discovery.max_interval;
                skb = ieee80211_get_fils_discovery_tmpl(hw, vif);
        } else if (changed & BSS_CHANGED_UNSOL_BCAST_PROBE_RESP &&
        discov->tx_type = !!(changed & BSS_CHANGED_FILS_DISCOVERY);
        discov->tx_interval = interval;
        discov->prob_rsp_len = cpu_to_le16(MT_TXD_SIZE + skb->len);
-       discov->enable = true;
+       discov->enable = !!interval;
 
        buf = (u8 *)sub_tlv + sizeof(*discov);