diff -r 28479eeba3fb -r 2b6718f05bdb bluetooth/btstack/secman/pairingserver.cpp --- a/bluetooth/btstack/secman/pairingserver.cpp Tue Feb 02 01:12:20 2010 +0200 +++ b/bluetooth/btstack/secman/pairingserver.cpp Fri Feb 19 23:56:55 2010 +0200 @@ -780,6 +780,7 @@ iProxySap->SetNotify(this); iProxySap->SetRemName(addr); iProxySap->ActiveOpen(); + DoAccessRequestL(); } void CDedicatedBondingSession::CleanupStartMessage(TAny* aPtr) @@ -815,6 +816,7 @@ addr.SetBTAddr(iProxySap->RemoteAddress()); iProxySap->SetRemName(addr); // triggers finding a link again. iProxySap->ActiveOpen(); + DoAccessRequestL(); break; } // else not deferred so complete now.... @@ -830,6 +832,12 @@ err = KErrAccessDenied; } break; + case EInitialConnectionPending: + case EFinalConnectionPending: + // Access request shouldn't successfully complete if the connection is still pending + __ASSERT_DEBUG(aResult != EBTSecManAccessGranted, PANIC(KPairingServerFaultCat, EPairingServerUnexpectedAccessCallback)); + // We should get the MSocketNotify::Error callback, so don't do anything else + break; default: LOG1(_L("Unexpected Access Request Complete in state %d"), iState); __ASSERT_DEBUG(EFalse, PANIC(KPairingServerFaultCat, EPairingServerUnexpectedAccessCallback)); @@ -863,11 +871,9 @@ { case EInitialConnectionPending: iState = EInitialConnection; - DoAccessRequestL(); break; case EFinalConnectionPending: iState = EFinalConnection; - DoAccessRequestL(); break; case EInitialConnection: case EFinalConnection: