dev_dbg(&client->dev, "jolly good! %d\n", j);
 
                        sensor->default_mbus_frame_fmts |= 1 << j;
-                       if (!sensor->csi_format
-                           || f->width > sensor->csi_format->width
-                           || (f->width == sensor->csi_format->width
-                               && f->compressed
-                               > sensor->csi_format->compressed)) {
-                               sensor->csi_format = f;
-                               sensor->internal_csi_format = f;
-                       }
                }
        }
 
 
                        set_bit(j, valid_link_freqs);
                }
+
+               if (!*valid_link_freqs) {
+                       dev_info(&client->dev,
+                                "no valid link frequencies for %u bpp\n",
+                                f->compressed);
+                       sensor->default_mbus_frame_fmts &= ~BIT(i);
+                       continue;
+               }
+
+               if (!sensor->csi_format
+                   || f->width > sensor->csi_format->width
+                   || (f->width == sensor->csi_format->width
+                       && f->compressed > sensor->csi_format->compressed)) {
+                       sensor->csi_format = f;
+                       sensor->internal_csi_format = f;
+               }
        }
 
        if (!sensor->csi_format) {