return 0;
 }
 
-#define TSB41BA3D_VID 0x00080028
-#define TSB41BA3D_PID 0x00833005
-
 static int probe_tsb41ba3d(struct fw_ohci *ohci)
 {
-       int reg, i, vendor_id, product_id;
+       /* TI vendor ID = 0x080028, TSB41BA3D product ID = 0x833005 (sic) */
+       static const u8 id[] = { 0x08, 0x00, 0x28, 0x83, 0x30, 0x05, };
+       int reg, i;
 
        reg = read_phy_reg(ohci, 2);
        if (reg < 0)
                return reg;
+       if ((reg & PHY_EXTENDED_REGISTERS) != PHY_EXTENDED_REGISTERS)
+               return 0;
 
-       if ((reg & PHY_EXTENDED_REGISTERS) == PHY_EXTENDED_REGISTERS) {
-               vendor_id = 0;
-               for (i = 10; i < 13; i++) {
-                       reg = read_paged_phy_reg(ohci, 1, i);
-                       if (reg < 0)
-                               return reg;
-                       vendor_id = (vendor_id << 8) | reg;
-               }
-               product_id = 0;
-               for (i = 13; i < 16; i++) {
-                       reg = read_paged_phy_reg(ohci, 1, i);
-                       if (reg < 0)
-                               return reg;
-                       product_id = (product_id << 8) | reg;
-               }
-
-               if ((vendor_id == TSB41BA3D_VID) &&
-                   (product_id == TSB41BA3D_PID))
-                       return 1;
+       for (i = ARRAY_SIZE(id) - 1; i >= 0; i--) {
+               reg = read_paged_phy_reg(ohci, 1, i + 10);
+               if (reg < 0)
+                       return reg;
+               if (reg != id[i])
+                       return 0;
        }
-       return 0;
+       return 1;
 }
 
 static int ohci_enable(struct fw_card *card,