Message ID | 1476791753-1837-1-git-send-email-clabbe.montjoie@gmail.com |
---|---|
State | Superseded |
Headers | show |
Hi, On 18/10/2016 at 13:55:53 +0200, Corentin Labbe wrote : > Change since v1: > - restored __exit for module_exit function > > ---8<--- I don't think this is the proper scissor symbol for git. At least, it is no recognized by patchwork and messes your patch. > From c04a24acebee4b4432afa7a2a7d4cfe114cc9a40 Mon Sep 17 00:00:00 2001 > From: Corentin Labbe <clabbe.montjoie@gmail.com> > Date: Mon, 17 Oct 2016 14:17:49 +0200 > Subject: [PATCH v2] rtc: cmos: remove all __exit_p annotations > > I got the following stack trace under qemu: [...] > When cmos_set_alarm() is called dev is NULL and so trigger the deref via > cmos->irq > > The problem comes from that the device is removed but no remove function > are called due to _exit_p(). > > This patch remove all _exit_p() annotation. > > Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> > --- The changelog should go here. > drivers/rtc/rtc-cmos.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) >
On Tue, Oct 18, 2016 at 04:16:39PM +0200, Alexandre Belloni wrote: > Hi, > > On 18/10/2016 at 13:55:53 +0200, Corentin Labbe wrote : > > Change since v1: > > - restored __exit for module_exit function > > > > ---8<--- > > I don't think this is the proper scissor symbol for git. At least, it is > no recognized by patchwork and messes your patch. > > > From c04a24acebee4b4432afa7a2a7d4cfe114cc9a40 Mon Sep 17 00:00:00 2001 > > From: Corentin Labbe <clabbe.montjoie@gmail.com> > > Date: Mon, 17 Oct 2016 14:17:49 +0200 > > Subject: [PATCH v2] rtc: cmos: remove all __exit_p annotations > > > > I got the following stack trace under qemu: > > [...] > > When cmos_set_alarm() is called dev is NULL and so trigger the deref via > > cmos->irq > > > > The problem comes from that the device is removed but no remove function > > are called due to _exit_p(). > > > > This patch remove all _exit_p() annotation. > > > > Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> > > --- > > > The changelog should go here. > > > drivers/rtc/rtc-cmos.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > Sorry, could I just resent it with PATCH RESENT v2 ? or does I need to bump it to v3. Regards
On 18/10/2016 at 16:24:53 +0200, LABBE Corentin wrote : > On Tue, Oct 18, 2016 at 04:16:39PM +0200, Alexandre Belloni wrote: > > Hi, > > > > On 18/10/2016 at 13:55:53 +0200, Corentin Labbe wrote : > > > Change since v1: > > > - restored __exit for module_exit function > > > > > > ---8<--- > > > > I don't think this is the proper scissor symbol for git. At least, it is > > no recognized by patchwork and messes your patch. > > > > > From c04a24acebee4b4432afa7a2a7d4cfe114cc9a40 Mon Sep 17 00:00:00 2001 > > > From: Corentin Labbe <clabbe.montjoie@gmail.com> > > > Date: Mon, 17 Oct 2016 14:17:49 +0200 > > > Subject: [PATCH v2] rtc: cmos: remove all __exit_p annotations > > > > > > I got the following stack trace under qemu: > > > > [...] > > > When cmos_set_alarm() is called dev is NULL and so trigger the deref via > > > cmos->irq > > > > > > The problem comes from that the device is removed but no remove function > > > are called due to _exit_p(). > > > > > > This patch remove all _exit_p() annotation. > > > > > > Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> > > > --- > > > > > > The changelog should go here. > > > > > drivers/rtc/rtc-cmos.c | 10 +++++----- > > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > > Sorry, could I just resent it with PATCH RESENT v2 ? or does I need to bump it to v3. > Resending v2 is fine
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c index dd3d598..6f0e12e 100644 --- a/drivers/rtc/rtc-cmos.c +++ b/drivers/rtc/rtc-cmos.c @@ -776,7 +776,7 @@ static void cmos_do_shutdown(int rtc_irq) spin_unlock_irq(&rtc_lock); } -static void __exit cmos_do_remove(struct device *dev) +static void cmos_do_remove(struct device *dev) { struct cmos_rtc *cmos = dev_get_drvdata(dev); struct resource *ports; @@ -1129,7 +1129,7 @@ static int cmos_pnp_probe(struct pnp_dev *pnp, const struct pnp_device_id *id) pnp_irq(pnp, 0)); } -static void __exit cmos_pnp_remove(struct pnp_dev *pnp) +static void cmos_pnp_remove(struct pnp_dev *pnp) { cmos_do_remove(&pnp->dev); } @@ -1161,7 +1161,7 @@ static struct pnp_driver cmos_pnp_driver = { .name = (char *) driver_name, .id_table = rtc_ids, .probe = cmos_pnp_probe, - .remove = __exit_p(cmos_pnp_remove), + .remove = cmos_pnp_remove, .shutdown = cmos_pnp_shutdown, /* flag ensures resume() gets called, and stops syslog spam */ @@ -1238,7 +1238,7 @@ static int __init cmos_platform_probe(struct platform_device *pdev) return cmos_do_probe(&pdev->dev, resource, irq); } -static int __exit cmos_platform_remove(struct platform_device *pdev) +static int cmos_platform_remove(struct platform_device *pdev) { cmos_do_remove(&pdev->dev); return 0; @@ -1263,7 +1263,7 @@ static void cmos_platform_shutdown(struct platform_device *pdev) MODULE_ALIAS("platform:rtc_cmos"); static struct platform_driver cmos_platform_driver = { - .remove = __exit_p(cmos_platform_remove), + .remove = cmos_platform_remove, .shutdown = cmos_platform_shutdown, .driver = { .name = driver_name,