From: Devendra Naga Date: Sun, 5 Aug 2012 21:13:47 +0000 (+0545) Subject: staging/crystalhd: assign PTR_ERR at fail cases to rc in chd_dec_init_chdev X-Git-Tag: next-20120816~16^2~51 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3b2f1fbec9218f24425eaaeedd4fd3e6ef3e9f44;p=karo-tx-linux.git staging/crystalhd: assign PTR_ERR at fail cases to rc in chd_dec_init_chdev the rc assignment to PTR_ERR at fail cases of class_create and device_create are missed out, return proper error rather than returning -ENODEV. Signed-off-by: Devendra Naga Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/crystalhd/crystalhd_lnx.c b/drivers/staging/crystalhd/crystalhd_lnx.c index d9e3d618f7f4..0582ac04b75c 100644 --- a/drivers/staging/crystalhd/crystalhd_lnx.c +++ b/drivers/staging/crystalhd/crystalhd_lnx.c @@ -373,6 +373,7 @@ static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp) /* register crystalhd class */ crystalhd_class = class_create(THIS_MODULE, "crystalhd"); if (IS_ERR(crystalhd_class)) { + rc = PTR_ERR(crystalhd_class); BCMLOG_ERR("failed to create class\n"); goto fail; } @@ -380,6 +381,7 @@ static int __devinit chd_dec_init_chdev(struct crystalhd_adp *adp) dev = device_create(crystalhd_class, NULL, MKDEV(adp->chd_dec_major, 0), NULL, "crystalhd"); if (IS_ERR(dev)) { + rc = PTR_ERR(crystalhd_class); BCMLOG_ERR("failed to create device\n"); goto device_create_fail; }