This commit consists of some miscellaneous small changes and some
exception tracking to help packet-out debugging in the adapter.

Change-Id: I1d6b50f60c800768acb5a132c1d630416ac9811f
diff --git a/python/adapters/iadapter.py b/python/adapters/iadapter.py
index 78cf42a..abe1bbc 100644
--- a/python/adapters/iadapter.py
+++ b/python/adapters/iadapter.py
@@ -200,12 +200,13 @@
         log.info("adapter-update-pm-config", device=device,
                  pm_config=pm_config)
         handler = self.devices_handlers[device.id]
-        handler.update_pm_config(device, pm_config)
+        if handler:
+            reactor.callLater(0, handler.update_pm_config, device, pm_config)
 
     def process_inter_adapter_message(self, msg):
         raise NotImplementedError()
 
-    def receive_packet_out(self, logical_device_id, egress_port_no, msg):
+    def receive_packet_out(self, device_id, egress_port_no, msg):
         raise NotImplementedError()
 
     def suppress_alarm(self, filter):
@@ -288,10 +289,14 @@
             reactor.callLater(0, handler.process_inter_adapter_message, msg)
 
     def receive_packet_out(self, device_id, egress_port_no, msg):
-        log.info('receive_packet_out', device_id=device_id,
-                 egress_port=egress_port_no, msg=msg)
-        handler = self.devices_handlers[device_id]
-        handler.packet_out(egress_port_no, msg.data)
+        try:
+            log.info('receive_packet_out', device_id=device_id,
+                     egress_port=egress_port_no, msg=msg)
+            handler = self.devices_handlers[device_id]
+            if handler:
+                reactor.callLater(0, handler.packet_out, egress_port_no, msg.data)
+        except Exception, e:
+            log.exception('packet-out-failure', e=e)
 
 
 """