Don't try to create cellular device if modem interface is blacklisted.

Shill does honor the presence of usb0 on the blacklist at the time the
RTNL message is received indicating the presence of the interface.
However, there is another path that can lead to creation of a Cellular
device: when ModemManager is detected, shill calls EnumerateDevices to
get a list of modems known to ModemManager. In response, shill goes
ahead and creates a Cellular device for each modem, without checking
the blacklist.

BUG=chromium-os:28215
TEST=manual testing, with and without usb0 on the blacklist

Change-Id: I7ef4348610027d6c815b3c4d382f646666725930
Reviewed-on: https://gerrit.chromium.org/gerrit/18771
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
diff --git a/modem.cc b/modem.cc
index 7b938ed..fead592 100644
--- a/modem.cc
+++ b/modem.cc
@@ -91,6 +91,12 @@
     LOG(ERROR) << "Unable to create cellular device without a link name.";
     return;
   }
+  if (manager_->device_info()->IsDeviceBlackListed(link_name_)) {
+    LOG(INFO) << "Do not create cellular device for blacklisted interface "
+              << link_name_;
+    return;
+  }
+
   // TODO(petkov): Get the interface index from DeviceInfo, similar to the MAC
   // address below.
   int interface_index =