2012-02-02 23:51:13

by NeilBrown

[permalink] [raw]
Subject: Crash in mtd_cls_suspend because mtd is NULL.


Hi,
I just tried to suspend my GTA04 (OMAP based mobile phone platform) running
3.3-rc2 and it crashed in mtd_cls_suspend because mtd was NULL.

So for me, it looks like the following patch is a regression.

Is there anything I can do to help find the correct resolution here.

(It has some flash memory but I am not using it at all).

Thanks,
NeilBrown




commit 079c985e7a6f4ce60f931cebfdd5ee3c38347e31
Author: Artem Bityutskiy <[email protected]>
Date: Fri Dec 30 17:15:59 2011 +0200

mtd: do not use mtd->suspend and mtd->resume directly

Just call the 'mtd_suspend()' and 'mtd_resume()' - they will do nothing
if the operation is not defined.

Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>

diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 66494ee..6ae9ca0 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -119,10 +119,7 @@ static int mtd_cls_suspend(struct device *dev, pm_message_t
{
struct mtd_info *mtd = dev_get_drvdata(dev);

- if (mtd && mtd->suspend)
- return mtd_suspend(mtd);
- else
- return 0;
+ return mtd_suspend(mtd);
}

static int mtd_cls_resume(struct device *dev)


Attachments:
signature.asc (828.00 B)

2012-02-03 04:56:39

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: Crash in mtd_cls_suspend because mtd is NULL.

On Fri, 2012-02-03 at 10:50 +1100, NeilBrown wrote:
> Hi,
> I just tried to suspend my GTA04 (OMAP based mobile phone platform) running
> 3.3-rc2 and it crashed in mtd_cls_suspend because mtd was NULL.
>
> So for me, it looks like the following patch is a regression.
>
> Is there anything I can do to help find the correct resolution here.
>
> (It has some flash memory but I am not using it at all).

Neil, there is a fix:

http://git.infradead.org/users/dedekind/l2-mtd.git/commit/da50432777e184dd889f077cf06a74aa24cb80d9

I should just be merged upstream. It was discussed here:

http://patchwork.ozlabs.org/patch/138551/

--
Best Regards,
Artem Bityutskiy


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2012-02-05 22:29:13

by NeilBrown

[permalink] [raw]
Subject: Re: Crash in mtd_cls_suspend because mtd is NULL.

On Fri, 03 Feb 2012 06:58:24 +0200 Artem Bityutskiy <[email protected]>
wrote:

> On Fri, 2012-02-03 at 10:50 +1100, NeilBrown wrote:
> > Hi,
> > I just tried to suspend my GTA04 (OMAP based mobile phone platform) running
> > 3.3-rc2 and it crashed in mtd_cls_suspend because mtd was NULL.
> >
> > So for me, it looks like the following patch is a regression.
> >
> > Is there anything I can do to help find the correct resolution here.
> >
> > (It has some flash memory but I am not using it at all).
>
> Neil, there is a fix:
>
> http://git.infradead.org/users/dedekind/l2-mtd.git/commit/da50432777e184dd889f077cf06a74aa24cb80d9
>
> I should just be merged upstream. It was discussed here:
>
> http://patchwork.ozlabs.org/patch/138551/
>

Thanks!

I pulled in the whole 'master' branch and it is much better....
(which is to say that suspend gets a bit further, and the thing that causes
it to break isn't MTD (it is libertas_sdio..)).

Thanks,
NeilBrown


Attachments:
signature.asc (828.00 B)