if (bus_type == V4L2_MBUS_CSI2_DPHY ||
            bus_type == V4L2_MBUS_CSI2_CPHY || lanes_used ||
            have_clk_lane || (flags & ~V4L2_MBUS_CSI2_CONTINUOUS_CLOCK)) {
+               /* Only D-PHY has a clock lane. */
+               unsigned int dfl_data_lane_index =
+                       bus_type == V4L2_MBUS_CSI2_DPHY;
+
                bus->flags = flags;
                if (bus_type == V4L2_MBUS_UNKNOWN)
                        vep->bus_type = V4L2_MBUS_CSI2_DPHY;
                if (use_default_lane_mapping) {
                        bus->clock_lane = 0;
                        for (i = 0; i < num_data_lanes; i++)
-                               bus->data_lanes[i] = 1 + i;
+                               bus->data_lanes[i] = dfl_data_lane_index + i;
                } else {
                        bus->clock_lane = clock_lane;
                        for (i = 0; i < num_data_lanes; i++)