Re: 2.6.17-rc4-mm1

Greg KH
2006-05-16T16:10:40Z

On Tue, May 16, 2006 at 05:23:46PM +0200, Jean Delvare wrote:
> Quoting myself:
> > And the winner is...
> > gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> >
> > Stephen, Greg?
>
> Indeed this patch breaks class_device_add in the success case...
>
> Andrew, maybe you want to put this in the hot-fixes directory for
> 2.6.17-rc1-mm4, as the problem hits all drivers which register with a
> class.
>
> Fix class_device_add success case after
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
> broke it. class_dev was no more put and class_name was no more freed
> before leaving. The former caused locks on driver removal (class_dev
> usage count could never be 0.)
>
> This fix should be folded into
> gregkh-driver-driver-core-class_device_add-needs-error-checks.patch
>
> Signed-off-by: Jean Delvare <khali@linux-fr.org>
> ---
> drivers/base/class.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-2.6.17-rc4-mm1.orig/drivers/base/class.c 2006-05-16 16:38:02.000000000 +0200
> +++ linux-2.6.17-rc4-mm1/drivers/base/class.c 2006-05-16 17:00:24.000000000 +0200
> @@ -620,7 +620,7 @@
> }
> up(&parent_class->sem);
>
> - return 0;
> + goto out1;
>

Thanks for catching this. I've merged this with Stephen's original
patch.

thanks again,

greg k-h