anchor.diff:      end;
   
   rsna_4way_handshake({key, _Flags, _CipherSuite, ReplayCounter, _SNonce, _KeyData, MICData},
  -		    State = #state{ac = AC, radio_mac = BSS, mac = StationMAC, capabilities = Caps,
  -				   eapol_state = install,
  -				   cipher_state =
  -				       #ccmp{
  -					  replay_counter = ReplayCounter} = CipherState}) ->
  +		    State0 = #state{ac = AC, radio_mac = BSS, mac = StationMAC, capabilities = Caps,
  +				    eapol_state = install,
  +				    cipher_state =
  +					#ccmp{
  +					   replay_counter = ReplayCounter} = CipherState}) ->
  +    State = stop_eapol_timer(State0),
       case eapol:validate_mic(CipherState, MICData) of
   	ok ->
   	    lager:debug("rsna_4way_handshake 4 of 4: ok"),
  
positive.code:     lager:debug("StationMAC: ~p", [pbkdf2:to_hex(StationMAC)]),
      lager:debug("ANonce: ~p", [pbkdf2:to_hex(ANonce)]),
      lager:debug("SNonce: ~p", [pbkdf2:to_hex(SNonce)]),
      {KCK, KEK, TK} = eapol:pmk2ptk(PMK, BSS, StationMAC, ANonce, SNonce, 48),
      CipherState = CipherState0#ccmp{rsn = RSN,
  				    replay_counter = ReplayCounter + 1,
  				    kck = KCK, kek = KEK, tk = TK},
  
      case eapol:validate_mic(CipherState, MICData) of
  
negative.code:     {next_state, connected, State, ?IDLE_TIMEOUT};
  
  connected({rekey, Type}, State0) ->
      lager:warning("in CONNECTED got REKEY: ~p", [Type]),
      State = rekey_start(Type, State0),
      {next_state, connected, State, ?IDLE_TIMEOUT};
  
  connected(Event = {eapol_retransmit, Flags, KeyData},
  	  State0 = #state{eapol_retransmit = TxCnt})
    when TxCnt < 4 ->
      lager:warning("in CONNECTED got EAPOL retransmit: ~p", [Event]),
      State = send_eapol(Flags, KeyData, State0),
      {next_state, connected, State, ?IDLE_TIMEOUT};
  
  connected(Event = {eapol_retransmit, _Flags, _KeyData},
  	  State = #state{mac_mode = MacMode}) ->
      lager:warning("in CONNECTED got EAPOL retransmit final TIMEOUT: ~p", [Event]),
      wtp_del_station(State),
      aaa_disassociation(State),
      {reply, ok, initial_state(MacMode), State, ?SHUTDOWN_TIMEOUT};
  
  connected(Event, State) ->
      lager:warning("in CONNECTED got unexpexted: ~p", [Event]),
  