Don't crash if a message is processed after the provider service goes down

Change-Id: I098cebaffdd8d80bca640fe29b746c91b75689ac
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index 16fca36..40f82e7 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -434,6 +434,10 @@
 
         @Override
         public void handleMessage(Dpid dpid, OFMessage msg) {
+            if (providerService == null) {
+                // We are shutting down, nothing to be done
+                return;
+            }
             DeviceId deviceId = DeviceId.deviceId(Dpid.uri(dpid));
             switch (msg.getType()) {
                 case FLOW_REMOVED: