struct ti_sn65dsi86 *pdata = bridge_to_ti_sn65dsi86(bridge);
        int ret;
 
-       if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) {
-               DRM_ERROR("Fix bridge driver to make connector optional!");
-               return -EINVAL;
-       }
-
        pdata->aux.drm_dev = bridge->dev;
        ret = drm_dp_aux_register(&pdata->aux);
        if (ret < 0) {
                return ret;
        }
 
-       /* We never want the next bridge to *also* create a connector: */
-       flags |= DRM_BRIDGE_ATTACH_NO_CONNECTOR;
-
-       /* Attach the next bridge */
+       /*
+        * Attach the next bridge.
+        * We never want the next bridge to *also* create a connector.
+        */
        ret = drm_bridge_attach(bridge->encoder, pdata->next_bridge,
-                               &pdata->bridge, flags);
+                               &pdata->bridge, flags | DRM_BRIDGE_ATTACH_NO_CONNECTOR);
        if (ret < 0)
                goto err_initted_aux;
 
+       if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
+               return 0;
+
        pdata->connector = drm_bridge_connector_init(pdata->bridge.dev,
                                                     pdata->bridge.encoder);
        if (IS_ERR(pdata->connector)) {