shill: ethernet: Don't deregister NULL
At the time Ethernet::Stop() is called, it's not clear that the
Service pointer is non-NULL. Test for that before bothering the
manager.
BUG=chromium-os:24100
TEST=Manual: Repeat conditions (USB/Ethernet plug/unplug)
Change-Id: I3843650d272356c6403695363721fb338540fa53
Reviewed-on: https://gerrit.chromium.org/gerrit/12749
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/ethernet.cc b/ethernet.cc
index 0e75c59..d7be256 100644
--- a/ethernet.cc
+++ b/ethernet.cc
@@ -59,8 +59,10 @@
}
void Ethernet::Stop() {
- manager()->DeregisterService(service_);
- service_ = NULL;
+ if (service_) {
+ manager()->DeregisterService(service_);
+ service_ = NULL;
+ }
Device::Stop();
}