2013-03-11 01:41:33

by Liu, Chuansheng

[permalink] [raw]
Subject: RE: [PATCH] pm: print the name of failed suspend function for platform device

Hi Greg,

I just noticed some other cases need the more log also.
https://lkml.org/lkml/2013/3/8/71

Could you consider the below patch, thanks?

Best Regards
Liu chuansheng

> -----Original Message-----
> From: Li, Fei
> Sent: Tuesday, February 05, 2013 1:13 PM
> To: [email protected]; [email protected]; [email protected]
> Cc: [email protected]; Liu, Chuansheng; Li, Fei
> Subject: [PATCH] pm: print the name of failed suspend function for platform
> device
>
>
> Print more info when platform device suspend function failed.
> Without this patch, we can not get the real platform device suspend
> API info.
>
> Example without this patch:
> pm_op(): platform_pm_suspend+0x0/0x50 returns -11
> PM: Device power.0 failed to suspend: error -11
>
> And with this patch:
> platform_pm_suspend(): power_suspend+0x0/0x30 returns -11
> pm_op(): platform_pm_suspend+0x0/0x80 returns -11
> PM: Device power.0 failed to suspend: error -11
>
> Signed-off-by: liu chuansheng <[email protected]>
> Signed-off-by: Li Fei <[email protected]>
> ---
> drivers/base/platform.c | 19 +++++++++++++++----
> 1 files changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
> index c0b8df3..96a452a 100644
> --- a/drivers/base/platform.c
> +++ b/drivers/base/platform.c
> @@ -747,8 +747,10 @@ static int platform_legacy_suspend(struct device
> *dev, pm_message_t mesg)
> struct platform_device *pdev = to_platform_device(dev);
> int ret = 0;
>
> - if (dev->driver && pdrv->suspend)
> + if (dev->driver && pdrv->suspend) {
> ret = pdrv->suspend(pdev, mesg);
> + suspend_report_result(pdrv->suspend, ret);
> + }
>
> return ret;
> }
> @@ -778,10 +780,13 @@ int platform_pm_suspend(struct device *dev)
> return 0;
>
> if (drv->pm) {
> - if (drv->pm->suspend)
> + if (drv->pm->suspend) {
> ret = drv->pm->suspend(dev);
> + suspend_report_result(drv->pm->suspend, ret);
> + }
> } else {
> ret = platform_legacy_suspend(dev, PMSG_SUSPEND);
> + suspend_report_result(platform_legacy_suspend, ret);
> }
>
> return ret;
> @@ -818,10 +823,13 @@ int platform_pm_freeze(struct device *dev)
> return 0;
>
> if (drv->pm) {
> - if (drv->pm->freeze)
> + if (drv->pm->freeze) {
> ret = drv->pm->freeze(dev);
> + suspend_report_result(drv->pm->freeze, ret);
> + }
> } else {
> ret = platform_legacy_suspend(dev, PMSG_FREEZE);
> + suspend_report_result(platform_legacy_suspend, ret);
> }
>
> return ret;
> @@ -854,10 +862,13 @@ int platform_pm_poweroff(struct device *dev)
> return 0;
>
> if (drv->pm) {
> - if (drv->pm->poweroff)
> + if (drv->pm->poweroff) {
> ret = drv->pm->poweroff(dev);
> + suspend_report_result(drv->pm->poweroff, ret);
> + }
> } else {
> ret = platform_legacy_suspend(dev, PMSG_HIBERNATE);
> + suspend_report_result(platform_legacy_suspend, ret);
> }
>
> return ret;
> --
> 1.7.4.1
>
>
>
>

????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?


2013-03-15 19:20:29

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] pm: print the name of failed suspend function for platform device

On Mon, Mar 11, 2013 at 01:41:28AM +0000, Liu, Chuansheng wrote:
> Hi Greg,
>
> I just noticed some other cases need the more log also.
> https://lkml.org/lkml/2013/3/8/71
>
> Could you consider the below patch, thanks?

Didn't I already consider it and respond?

2013-03-16 01:22:36

by Liu, Chuansheng

[permalink] [raw]
Subject: RE: [PATCH] pm: print the name of failed suspend function for platform device

Hello Greg,

Double checked, there is no your response before.
Can you consider it again? Thanks.

Since we have printed the failure info, why not enhance it a bit:)

Example without this patch:
pm_op(): platform_pm_suspend+0x0/0x50 returns -11
PM: Device power.0 failed to suspend: error -11

And with this patch:
platform_pm_suspend(): power_suspend+0x0/0x30 returns -11
pm_op(): platform_pm_suspend+0x0/0x80 returns -11
PM: Device power.0 failed to suspend: error -11


> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Saturday, March 16, 2013 3:20 AM
> To: Liu, Chuansheng
> Cc: Li, Fei; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH] pm: print the name of failed suspend function for platform
> device
>
> On Mon, Mar 11, 2013 at 01:41:28AM +0000, Liu, Chuansheng wrote:
> > Hi Greg,
> >
> > I just noticed some other cases need the more log also.
> > https://lkml.org/lkml/2013/3/8/71
> >
> > Could you consider the below patch, thanks?
>
> Didn't I already consider it and respond?

2013-03-16 03:53:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] pm: print the name of failed suspend function for platform device


A: No.
Q: Should I include quotations after my reply?

http://daringfireball.net/2007/07/on_top

On Sat, Mar 16, 2013 at 01:22:31AM +0000, Liu, Chuansheng wrote:
> Hello Greg,
>
> Double checked, there is no your response before.
> Can you consider it again? Thanks.

Consider what? I get about 250 patches a _week_, I honestly do not
remember your specific patch, nor do I have it anywhere in front of me.

> Since we have printed the failure info, why not enhance it a bit:)
>
> Example without this patch:
> pm_op(): platform_pm_suspend+0x0/0x50 returns -11
> PM: Device power.0 failed to suspend: error -11
>
> And with this patch:
> platform_pm_suspend(): power_suspend+0x0/0x30 returns -11
> pm_op(): platform_pm_suspend+0x0/0x80 returns -11
> PM: Device power.0 failed to suspend: error -11

Ok, fine, get the PM maintainer to accept the patch then, resend it, cc:
the proper people and it will be considered. If I hate it, I'll tell
you.

greg k-h