u8 data_lanes;
        bool is_power_on;
-       bool is_attached;
 };
 
 static int lt8912_write_init_config(struct lt8912 *lt)
        if (ret)
                goto error;
 
-       lt->is_attached = true;
-
        return 0;
 
 error:
 {
        struct lt8912 *lt = bridge_to_lt8912(bridge);
 
-       if (lt->is_attached) {
-               lt8912_hard_power_off(lt);
+       lt8912_hard_power_off(lt);
 
-               if (lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
-                       drm_bridge_hpd_disable(lt->hdmi_port);
+       if (lt->hdmi_port->ops & DRM_BRIDGE_OP_HPD)
+               drm_bridge_hpd_disable(lt->hdmi_port);
 
-               drm_connector_unregister(<->connector);
-               drm_connector_cleanup(<->connector);
-       }
+       drm_connector_unregister(<->connector);
+       drm_connector_cleanup(<->connector);
 }
 
 static enum drm_connector_status
 {
        struct lt8912 *lt = i2c_get_clientdata(client);
 
-       lt8912_bridge_detach(<->bridge);
        drm_bridge_remove(<->bridge);
        lt8912_free_i2c(lt);
        lt8912_put_dt(lt);