mutex_lock(&fb_info->info->lock);
fb_destroy_modedb(fb_info->info->monspecs.modedb);
+ fb_destroy_modelist(&fb_info->info->modelist);
+
+ if (specs == NULL) {
+ struct tegra_dc_mode mode;
+ memset(&fb_info->info->monspecs, 0x0,
+ sizeof(fb_info->info->monspecs));
+ memset(&mode, 0x0, sizeof(mode));
+ tegra_dc_set_mode(fb_info->win->dc, &mode);
+ mutex_unlock(&fb_info->info->lock);
+ return;
+ }
+
memcpy(&fb_info->info->monspecs, specs,
sizeof(fb_info->info->monspecs));
- fb_destroy_modelist(&fb_info->info->modelist);
-
for (i = 0; i < specs->modedb_len; i++) {
if (mode_filter) {
if (mode_filter(&specs->modedb[i]))