Misc fixes in openflow provider subsystem

Change-Id: I5e6ab619f66ca71badc25efc7be7560070639051
(cherry picked from commit 91e1d737f6c60b48d7b2eb03a524138db1d68e8c)
diff --git a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
index a11847a..552e5ec 100644
--- a/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
+++ b/providers/openflow/meter/src/main/java/org/onosproject/provider/of/meter/impl/MeterStatsCollector.java
@@ -56,6 +56,11 @@
 
     @Override
     public void run(Timeout timeout) throws Exception {
+        if (!sw.isConnected()) {
+            log.debug("Switch {} disconnected. Aborting meter stats collection", sw.getStringId());
+            return;
+        }
+
         log.trace("Collecting stats for {}", sw.getStringId());
 
         sendMeterStatistic();