diff -r 5a93021fdf25 -r 40cb640ef159 bearermanagement/S60MCPR/src/s60mcpractivities.cpp --- a/bearermanagement/S60MCPR/src/s60mcpractivities.cpp Thu Dec 17 08:55:21 2009 +0200 +++ b/bearermanagement/S60MCPR/src/s60mcpractivities.cpp Thu Jan 07 12:56:54 2010 +0200 @@ -327,10 +327,12 @@ TTag ) // On error, we do not terminate the activity. // We need to inform the client and propose a new handshake should the client wish to continue - THROUGH_NODEACTIVITY_ENTRY( KErrorTag, - MeshMachine::TRaiseAndClearActivityError, - TTag ) -// S60MCprMobilityActivity::TStartMobilityHandshakeBackwards ) + // Shut down the layer, to release the rejected bearer + NODEACTIVITY_ENTRY(KErrorTag, + CS60MobilityActivity::TErrorOriginatorAndStopDataClient, + CoreNetStates::TAwaitingDataClientStopped, + TTag) + // When closing, always continue to cancel the activity. LAST_NODEACTIVITY_ENTRY( KCancelTag, CS60MobilityActivity::TCancelMobilityActivity ) @@ -358,7 +360,7 @@ S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TStoreErrorContext, CoreStates::TNoTagOrNoPeer ) LAST_NODEACTIVITY_ENTRY( CoreStates::KNoPeer, - S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TSendPropagateRecoveryResponse ) //Take error codes directly from the request + S60MCprErrorRecoveryActivity::CS60ConnectionRecoveryActivity::TSendPropagateRecoveryErrContextResponse ) //Take error codes directly from the request THROUGH_NODEACTIVITY_ENTRY( KNoTag, MeshMachine::TDoNothing, S60MCprErrorRecoveryActivity::TProcessErrorBlockedByMobilityHandshaking )