Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752659AbbHQHKk (ORCPT ); Mon, 17 Aug 2015 03:10:40 -0400 Received: from mail-bn1bon0147.outbound.protection.outlook.com ([157.56.111.147]:26944 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750847AbbHQHKi convert rfc822-to-8bit (ORCPT ); Mon, 17 Aug 2015 03:10:38 -0400 From: Wang Dongsheng To: "alexandre.belloni@free-electrons.com" CC: "a.zummo@towertech.it" , "rtc-linux@googlegroups.com" , "linux-kernel@vger.kernel.org" , Wang Dongsheng Subject: RE: [PATCH v2] rtc/ds3232: fix ds3232 get a WARNING trace in resume function Thread-Topic: [PATCH v2] rtc/ds3232: fix ds3232 get a WARNING trace in resume function Thread-Index: AQHQ1OABFRD73Ev3hUuoaA4P1DYwOJ4PzO7g Date: Mon, 17 Aug 2015 07:10:35 +0000 Message-ID: References: <1439370853-32282-1-git-send-email-dongsheng.wang@freescale.com> In-Reply-To: <1439370853-32282-1-git-send-email-dongsheng.wang@freescale.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Dongsheng.Wang@freescale.com; x-originating-ip: [199.59.226.141] x-microsoft-exchange-diagnostics: 1;SN1PR0301MB1616;5:zbguEpiBbV5klhYuobMx6gaFqeOjK5aasGWLUsaubL4L9lrxM2rzERsw6vymwp5JzglMoAf5BcTB9k7PxwHwY5ttVAgYSywMVHtwSqXZJtHav5xyngs1cu1qxFDIi9pXDQkJ+TPnjEDPCyIGDrpRSw==;24:+vecsvd+K0hi7CXw16fBHRgoBgBLOJJems9bv+2Y1bVxZkKdTWdciwK6FDTMRw7Zw60141lxoPyHP5n91eOyrCqXl3JeaYlk1nUSHPZkbJY=;20:bhkkEL0xsg5eD/yoPBNrQhb18BU4QC3AAqtHsxX3MCsfrXajJNFtuecDclgBrEEvPLvGQjZ2lmTp32oobH3hzg== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1616; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:SN1PR0301MB1616;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1616; x-forefront-prvs: 0671F32598 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(13464003)(377454003)(189002)(199003)(86362001)(189998001)(64706001)(5001960100002)(2656002)(76576001)(87936001)(10400500002)(5001860100001)(81156007)(107886002)(62966003)(5001830100001)(77156002)(97736004)(74316001)(122556002)(66066001)(2351001)(105586002)(106116001)(110136002)(4001540100001)(101416001)(40100003)(19580405001)(19580395003)(5003600100002)(2900100001)(106356001)(2950100001)(5002640100001)(68736005)(99286002)(77096005)(2501003)(46102003)(92566002)(102836002)(33656002)(50986999)(575784001)(54356999)(76176999)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:SN1PR0301MB1616;H:SN1PR0301MB1616.namprd03.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2015 07:10:35.9339 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB1616 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3404 Lines: 94 Hi Alexandre, Could you apply this patch? Regards, -Dongsheng > -----Original Message----- > From: Dongsheng Wang [mailto:dongsheng.wang@freescale.com] > Sent: Wednesday, August 12, 2015 5:14 PM > To: alexandre.belloni@free-electrons.com > Cc: a.zummo@towertech.it; rtc-linux@googlegroups.com; linux- > kernel@vger.kernel.org; Wang Dongsheng-B40534 > Subject: [PATCH v2] rtc/ds3232: fix ds3232 get a WARNING trace in resume > function > > From: Wang Dongsheng > > If ds3232 work on some platform that is not implementation > irq_set_wake, ds3232 will get a WARNING trace in resume. > So fix ds3232->suspended state to false when irq_set_irq_wake > return error. > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 729 at kernel/irq/manage.c:604 > irq_set_irq_wake+0x4b/0x8c() > Unbalanced IRQ 201 wake disable > Modules linked in: > CPU: 0 PID: 729 Comm: sh Not tainted 3.12.19-rt30+ #25 > [<800107d9>] (unwind_backtrace+0x1/0x88) from [<8000e4ef>] > (show_stack+0xb/0xc) > [<8000e4ef>] (show_stack+0xb/0xc) from [<802b5fa9>] > (dump_stack+0x4d/0x60) > [<802b5fa9>] (dump_stack+0x4d/0x60) from [<800186dd>] > (warn_slowpath_common+0x45/0x64) > [<800186dd>] (warn_slowpath_common+0x45/0x64) from [<80018717>] > (warn_slowpath_fmt+0x1b/0x24) > [<80018717>] (warn_slowpath_fmt+0x1b/0x24) from [<8003a8d3>] > (irq_set_irq_wake+0x4b/0x8c) > [<8003a8d3>] (irq_set_irq_wake+0x4b/0x8c) from [<80204fcb>] > (ds3232_resume+0x2d/0x36) > [<80204fcb>] (ds3232_resume+0x2d/0x36) from [<801954c7>] > (dpm_run_callback.isra.13+0xb/0x28) > [<801954c7>] (dpm_run_callback.isra.13+0xb/0x28) from [<80195b1b>] > (device_resume+0x7b/0xa2) > [<80195b1b>] (device_resume+0x7b/0xa2) from [<80195f0f>] > (dpm_resume+0xbb/0x19c) > [<80195f0f>] (dpm_resume+0xbb/0x19c) from [<801960d9>] > (dpm_resume_end+0x9/0x12) > [<801960d9>] (dpm_resume_end+0x9/0x12) from [<80037e1d>] > (suspend_devices_and_enter+0x17d/0x1d0) > [<80037e1d>] (suspend_devices_and_enter+0x17d/0x1d0) from [<80037ee1>] > (pm_suspend+0x71/0x128) > [<80037ee1>] (pm_suspend+0x71/0x128) from [<80037449>] > (state_store+0x6d/0x80) > [<80037449>] (state_store+0x6d/0x80) from [<800af4d5>] > (sysfs_write_file+0x9f/0xde) > [<800af4d5>] (sysfs_write_file+0x9f/0xde) from [<8007a437>] > (vfs_write+0x7b/0x104) > [<8007a437>] (vfs_write+0x7b/0x104) from [<8007a7f7>] > (SyS_write+0x27/0x48) > [<8007a7f7>] (SyS_write+0x27/0x48) from [<8000c121>] > (ret_fast_syscall+0x1/0x44) > ---[ end trace 640959d2e8de6ccc ]--- > > Signed-off-by: Wang Dongsheng > --- > *v2* > - Use dev_warn_once to instead of dev_info > > diff --git a/drivers/rtc/rtc-ds3232.c b/drivers/rtc/rtc-ds3232.c > index 7e48e53..3554970 100644 > --- a/drivers/rtc/rtc-ds3232.c > +++ b/drivers/rtc/rtc-ds3232.c > @@ -463,7 +463,10 @@ static int ds3232_suspend(struct device *dev) > > if (device_can_wakeup(dev)) { > ds3232->suspended = true; > - irq_set_irq_wake(client->irq, 1); > + if (irq_set_irq_wake(client->irq, 1)) { > + dev_warn_once(dev, "Can not set wakeup sources\n"); > + ds3232->suspended = false; > + } > } > > return 0; > -- > 2.1.0.27.g96db324 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/