rkfbsys:mask printk int set_dsp_lut
[firefly-linux-kernel-4.4.55.git] / drivers / video / udlfb.c
index 52b0f3e8ccac694743aa4ba6b2d3db0c86448a0e..415e9b2f43dec4777ea054007e81ec018bf40437 100644 (file)
@@ -1233,8 +1233,12 @@ static int dlfb_setup_modes(struct dlfb_data *dev,
                        if (dlfb_is_valid_mode(&info->monspecs.modedb[i], info))
                                fb_add_videomode(&info->monspecs.modedb[i],
                                        &info->modelist);
-                       else /* if we've removed top/best mode */
-                               info->monspecs.misc &= ~FB_MISC_1ST_DETAIL;
+                       else {
+                               if (i == 0)
+                                       /* if we've removed top/best mode */
+                                       info->monspecs.misc
+                                               &= ~FB_MISC_1ST_DETAIL;
+                       }
                }
 
                default_vmode = fb_find_best_display(&info->monspecs,
@@ -1662,7 +1666,7 @@ static void dlfb_usb_disconnect(struct usb_interface *interface)
        for (i = 0; i < ARRAY_SIZE(fb_device_attrs); i++)
                device_remove_file(info->dev, &fb_device_attrs[i]);
        device_remove_bin_file(info->dev, &edid_attr);
-
+       unlink_framebuffer(info);
        usb_set_intfdata(interface, NULL);
 
        /* if clients still have us open, will be freed on last close */