drivers/rtc: correct an error test
rtc is clearly does not satisfy IS_ERR at the point where it is tested, so I have changed the test to consider the just initialized rtc->rtc_dev. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @match exists@ expression x, E; identifier fld; position p1,p2; @@ ( x = E; | x = E | x@p1->fld ... when != x = E IS_ERR(x@p2) ... when any ) @other_match exists@ expression match.x, E1, E2; position match.p1,match.p2; @@ x = E1 ... when != x = E2 when != x@p1 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Cc: Bryan Wu <bryan.wu@analog.com> Cc: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
defb45147b
commit
ba6c4033b9
|
@ -390,7 +390,7 @@ static int __devinit bfin_rtc_probe(struct platform_device *pdev)
|
|||
|
||||
/* Register our RTC with the RTC framework */
|
||||
rtc->rtc_dev = rtc_device_register(pdev->name, dev, &bfin_rtc_ops, THIS_MODULE);
|
||||
if (unlikely(IS_ERR(rtc))) {
|
||||
if (unlikely(IS_ERR(rtc->rtc_dev))) {
|
||||
ret = PTR_ERR(rtc->rtc_dev);
|
||||
goto err_irq;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue