diff -r 11ebbc215b05 -r 047299a3352b bluetooth/btstack/secman/pairingserver.cpp --- a/bluetooth/btstack/secman/pairingserver.cpp Mon Mar 08 21:44:29 2010 +0000 +++ b/bluetooth/btstack/secman/pairingserver.cpp Sun Mar 14 13:13:56 2010 +0000 @@ -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: