diff --git a/autotests/util/hostapd.py b/autotests/util/hostapd.py index aabc997b..8b81d467 100644 --- a/autotests/util/hostapd.py +++ b/autotests/util/hostapd.py @@ -43,10 +43,10 @@ class HostapdCLI(object): return cls._instances[config] - def _init_hostapd(self, config): + def _init_hostapd(self, config, reinit=False): global ctrl_count - if self._initialized: + if self._initialized and not reinit: return self._initialized = True @@ -60,9 +60,6 @@ class HostapdCLI(object): hapd = ctx.hostapd[config] - if not hasattr(self, '_hostapd_restarted'): - self._hostapd_restarted = False - self.interface = hapd.intf self.config = hapd.config @@ -131,12 +128,6 @@ class HostapdCLI(object): except: pass - if self._hostapd_restarted: - ctx.stop_process(ctx.hostapd.process, force) - - self.interface.set_interface_state('down') - self.interface.set_interface_state('up') - def __del__(self): self._del_hostapd() @@ -215,8 +206,10 @@ class HostapdCLI(object): ''' Ungracefully kill and restart hostapd ''' - # set flag so hostapd can be killed after the test - self._hostapd_restarted = True + ctx.stop_process(ctx.hostapd.process, True) + + self.interface.set_interface_state('down') + self.interface.set_interface_state('up') self._del_hostapd(force=True) @@ -226,7 +219,7 @@ class HostapdCLI(object): time.sleep(1) # New hostapd process, so re-init - self._init_hostapd(config=self.config) + self._init_hostapd(config=self.config, reinit=True) def req_beacon(self, addr, request): '''