2014-04-16 21:10:07

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] FMC: misc_register should not be called while atomic

On Wed, Apr 09, 2014 at 12:13:35PM +0800, Jet Chen wrote:
> Signed-off-by: Jet Chen <[email protected]>
> ---
> drivers/fmc/fmc-chardev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/fmc/fmc-chardev.c b/drivers/fmc/fmc-chardev.c
> index b071039..08c4549 100644
> --- a/drivers/fmc/fmc-chardev.c
> +++ b/drivers/fmc/fmc-chardev.c
> @@ -141,8 +141,8 @@ static int fc_probe(struct fmc_device *fmc)
> fc->misc.fops = &fc_fops;
> fc->misc.name = kstrdup(dev_name(&fmc->dev), GFP_KERNEL);
>
> - spin_lock(&fc_lock);
> ret = misc_register(&fc->misc);
> + spin_lock(&fc_lock);
> if (ret < 0) {
> kfree(fc->misc.name);
> kfree(fc);
> --
> 1.9.1

This patch doesn't apply at all, can you please redo it against 3.15-rc1
and resend it so that I can apply it?

thanks,

greg k-h


2014-04-16 22:39:47

by Alessandro Rubini

[permalink] [raw]
Subject: Re: [PATCH] FMC: misc_register should not be called while atomic

>> --- a/drivers/fmc/fmc-chardev.c
>> +++ b/drivers/fmc/fmc-chardev.c
>> @@ -141,8 +141,8 @@ static int fc_probe(struct fmc_device *fmc)
>> fc->misc.fops = &fc_fops;
>> fc->misc.name = kstrdup(dev_name(&fmc->dev), GFP_KERNEL);
>>
>> - spin_lock(&fc_lock);
>> ret = misc_register(&fc->misc);
>> + spin_lock(&fc_lock);
>> if (ret < 0) {
>> kfree(fc->misc.name);
>> kfree(fc);
>> --
>> 1.9.1

This is already applied, though in a slightly different way. Commit
783c2fb1b. I fixed it in Jul 13 2013 after user reports.

"git tag --contains 783c2fb1b" reports v3.12-rc1 and later

/alessandro

2014-04-17 03:09:23

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] FMC: misc_register should not be called while atomic

On Thu, Apr 17, 2014 at 12:39:42AM +0200, Alessandro Rubini wrote:
> >> --- a/drivers/fmc/fmc-chardev.c
> >> +++ b/drivers/fmc/fmc-chardev.c
> >> @@ -141,8 +141,8 @@ static int fc_probe(struct fmc_device *fmc)
> >> fc->misc.fops = &fc_fops;
> >> fc->misc.name = kstrdup(dev_name(&fmc->dev), GFP_KERNEL);
> >>
> >> - spin_lock(&fc_lock);
> >> ret = misc_register(&fc->misc);
> >> + spin_lock(&fc_lock);
> >> if (ret < 0) {
> >> kfree(fc->misc.name);
> >> kfree(fc);
> >> --
> >> 1.9.1
>
> This is already applied, though in a slightly different way. Commit
> 783c2fb1b. I fixed it in Jul 13 2013 after user reports.
>
> "git tag --contains 783c2fb1b" reports v3.12-rc1 and later

Then why in the world is it being submitted as a patch to be included?
What is going on here?

confused,

greg k-h