> -----Original Message----- > From: linux-fbdev-owner@xxxxxxxxxxxxxxx [mailto:linux-fbdev- > owner@xxxxxxxxxxxxxxx] On Behalf Of Grazvydas Ignotas > Sent: Thursday, October 21, 2010 2:32 PM > To: tomi.valkeinen@xxxxxxxxx > Cc: Stanley.Miao; linux-omap@xxxxxxxxxxxxxxx; bryan.wu@xxxxxxxxxxxxx; > mathieu.poirier@xxxxxxxxxxxxx; linux-fbdev@xxxxxxxxxxxxxxx > Subject: Re: [PATCH V3] OMAP: DSS2: don't power off a panel twice > > Tomi can you queue this? This has been tested by multiple people now, > also see here: > http://marc.info/?l=linux-omap&m=128759415821646&w=2 > > On Fri, Sep 3, 2010 at 6:03 AM, Stanley.Miao <stanley.miao@xxxxxxxxxxxxx> > wrote: > > If we blank the panel by > > echo 1 > /sys/devices/platform/omapfb/graphics/fb0/blank > > > > Then, we reboot the sytem, the kernel will crash at > > drivers/video/omap2/dss/core.c:323 > > > > This is because the panel is closed twice. Now check the state of a > dssdev > > to forbid a panel is power on or power off twice. > > > > Signed-off-by: Stanley.Miao <stanley.miao@xxxxxxxxxxxxx> > > --- > > drivers/video/omap2/displays/panel-acx565akm.c | 6 ++++++ > > drivers/video/omap2/displays/panel-generic.c | 6 ++++++ > > .../video/omap2/displays/panel-sharp-lq043t1dg01.c | 6 ++++++ > > .../video/omap2/displays/panel-sharp-ls037v7dw01.c | 6 ++++++ > > .../video/omap2/displays/panel-toppoly-tdo35s.c | 6 ++++++ > > .../video/omap2/displays/panel-tpo-td043mtea1.c | 6 ++++++ > > [Senthil] Why is this change not applicable for panel-taal.c ? > > > > diff --git a/drivers/video/omap2/displays/panel-acx565akm.c > b/drivers/video/omap2/displays/panel-acx565akm.c > > index 07fbb8a..e773106 100644 > > --- a/drivers/video/omap2/displays/panel-acx565akm.c > > +++ b/drivers/video/omap2/displays/panel-acx565akm.c > > @@ -587,6 +587,9 @@ static int acx_panel_power_on(struct omap_dss_device > *dssdev) > > > > dev_dbg(&dssdev->dev, "%s\n", __func__); > > > > + if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) > > + return 0; > > + > > mutex_lock(&md->mutex); > > > > r = omapdss_sdi_display_enable(dssdev); > > @@ -644,6 +647,9 @@ static void acx_panel_power_off(struct > omap_dss_device *dssdev) > > > > dev_dbg(&dssdev->dev, "%s\n", __func__); > > > > + if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE) > > + return; > > + > > mutex_lock(&md->mutex); > > > > if (!md->enabled) { <Snip> -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html