hdctools: servod: bugfix for automatic change of FTDI pid.

BUG=chrome-os-partner:7585
TEST=manual,

sudo servod -c servo_v2.xml -p 0x5002

Check output looks like,
2012-01-27 17:45:06,530 - Servod - INFO - Initializing FTDI interface 1 to dummy
2012-01-27 17:45:06,530 - Servod - INFO - Initializing FTDI interface 2 to i2c
2012-01-27 17:45:06,535 - Servod - INFO - Initializing FTDI interface 3 to uart
2012-01-27 17:45:06,537 - Servod - INFO - /dev/pts/19
2012-01-27 17:45:06,537 - Servod - INFO - Initializing FTDI interface 4 to uart
2012-01-27 17:45:06,539 - Servod - INFO - /dev/pts/22

2012-01-27 17:45:06,540 - Servod - INFO - Changing to next FTDI part @ pid = 0x5003

2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 5 to dummy
2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 6 to dummy
2012-01-27 17:45:06,540 - Servod - INFO - Initializing FTDI interface 7 to uart
2012-01-27 17:45:06,542 - Servod - INFO - /dev/pts/23
2012-01-27 17:45:06,542 - Servod - INFO - Initializing FTDI interface 8 to uart
2012-01-27 17:45:06,544 - Servod - INFO - /dev/pts/24

Change-Id: Ifb253704075d557476da8115994aae14468cc81e
Reviewed-on: https://gerrit.chromium.org/gerrit/14955
Tested-by: Todd Broch <tbroch@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Commit-Ready: Todd Broch <tbroch@chromium.org>
diff --git a/servo/servo_server.py b/servo/servo_server.py
index 2c46d5c..5bd6127 100644
--- a/servo/servo_server.py
+++ b/servo/servo_server.py
@@ -52,6 +52,12 @@
       interfaces = ftdi_common.INTERFACE_DEFAULTS[vendor][product]
 
     for i, name in enumerate(interfaces):
+      # servos with multiple FTDI are guaranteed to have contiguous USB PIDs
+      if i and ((i % ftdi_common.MAX_FTDI_INTERFACES_PER_DEVICE) == 0):
+        self._product += 1
+        self._logger.info("Changing to next FTDI part @ pid = 0x%04x",
+                          self._product)
+
       self._logger.info("Initializing FTDI interface %d to %s", i + 1, name)
       try:
         func = getattr(self, '_init_%s' % name)
@@ -63,9 +69,6 @@
       else:
         self._interface_list.append(result)
 
-      # servos with multiple FTDI are guaranteed to have contiguous USB PIDs
-      if i and i % ftdi_common.MAX_FTDI_INTERFACES_PER_DEVICE == 0:
-        self._product += 1
 
   def _init_dummy(self, interface):
     """Initialize dummy interface.