import UIKit

class CHome:Controller<VHome, MHome>
{
    deinit
    {
        NotificationCenter.default.removeObserver(self)
    }
    
    override func modelRefresh()
    {
        DispatchQueue.main.async
        { [weak self] in
            
            self?.asyncRefresh()
        }
    }
    
    override func viewDidLoad()
    {
        super.viewDidLoad()
     
        DispatchQueue.global(qos:DispatchQoS.QoSClass.background).async
        { [weak self] in
            
            self?.loadSessionStrategy()
        }
    }
    
    //MARK: notified
    
    func notifiedBecameActive(sender notification:Notification)
    {
        if parent?.childViewControllers.last === self
        {
            model.authLocation(controller:self)
        }
    }
    
    //MARK: private
    
    private func asyncRefresh()
    {
    }
}

import UIKit

class CHome:Controller<VHome, MHome>
{
    deinit
    {
        NotificationCenter.default.removeObserver(self)
    }
    
    override func modelRefresh()
    {
        DispatchQueue.main.async
        { [weak self] in
            
            self?.asyncRefresh()
        }
    }
    
    override func viewDidLoad()
    {
        super.viewDidLoad()
     
        DispatchQueue.global(qos:DispatchQoS.QoSClass.background).async
        { [weak self] in
            
            self?.loadSessionStrategy()
        }
    }
    
    //MARK: notified
    
    func notifiedBecameActive(sender notification:Notification)
    {
        model.authLocation(controller:self)
    }
    
    //MARK: private
    
    private func asyncRefresh()
    {
    }
}

--- 
+++ 
@@ -31,7 +31,10 @@
     
     func notifiedBecameActive(sender notification:Notification)
     {
-        model.authLocation(controller:self)
+        if parent?.childViewControllers.last === self
+        {
+            model.authLocation(controller:self)
+        }
     }
     
     //MARK: private
Validate if home is top vc
