Fix for send failure via Non-IP adapters
authorvimala.v <vimala.v@samsung.com>
Wed, 2 Mar 2016 11:52:08 +0000 (17:22 +0530)
committerJon A. Cruz <jonc@osg.samsung.com>
Wed, 2 Mar 2016 22:01:01 +0000 (22:01 +0000)
Change-Id: I16338d4ba55b8dfb21957ec0084fc731cfd02c3a
Signed-off-by: vimala.v <vimala.v@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/5301
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
resource/csdk/connectivity/src/camessagehandler.c

index 3da692b..f127742 100644 (file)
@@ -651,7 +651,14 @@ static CAResult_t CAProcessSendData(const CAData_t *data)
                 (CA_ADAPTER_IP & data->remoteEndpoint->adapter &&
                     CA_ADAPTER_IP != data->remoteEndpoint->adapter))
         {
-            data->remoteEndpoint->adapter = data->remoteEndpoint->adapter ^ CA_ADAPTER_IP;
+            if (data->remoteEndpoint->adapter == CA_DEFAULT_ADAPTER)
+            {
+                data->remoteEndpoint->adapter = CA_ALL_ADAPTERS ^ CA_ADAPTER_IP;
+            }
+            else
+            {
+                data->remoteEndpoint->adapter = data->remoteEndpoint->adapter ^ CA_ADAPTER_IP;
+            }
             CAProcessMulticastData(data);
             data->remoteEndpoint->adapter = CA_ADAPTER_IP;
             CAProcessMulticastData(data);