diff -r e5f94a37a5fc -r 230aed0f16aa bluetooth/btstack/rfcomm/rfcommmuxer.cpp --- a/bluetooth/btstack/rfcomm/rfcommmuxer.cpp Thu Jun 17 22:32:21 2010 +0100 +++ b/bluetooth/btstack/rfcomm/rfcommmuxer.cpp Thu Jul 22 16:44:39 2010 +0100 @@ -209,9 +209,17 @@ DequeIdleTimer(); iSAPs.AddFirst(aSAP); if(iMuxChannel->IsOpen()) + { aSAP.MuxUp(); + } + else if (iMuxChannel->IsErrored()) + { + aSAP.Error(KErrRfcommMuxChannelErrored, CRfcommSAP::EErrorFatal); + } else + { iMuxChannel->Open(); // Eventually calls back + } } void CRfcommMuxer::DetachSAP(CRfcommSAP& aSAP)