staging: speakup: more fixes for init-failure handling.
authorChristopher Brannon <chris@the-brannons.com>
Sun, 19 Dec 2010 22:50:24 +0000 (22:50 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 Jan 2011 23:58:16 +0000 (15:58 -0800)
We still leaked many resources when Speakup failed to initialize.
Examples of leaked resources include:
/dev/synth, keyboard or VT notifiers, and heap-allocated st_spk_t
structs.
This is fixed.

* We now use PTR_ERR to detect kthread_create failure
(thank you Dan Carpenter).

* The loop which frees members of the speakup_console array now iterates
over the whole array, not stopping at the first NULL value.  Fixes
a possible memory leak.  Safe because kfree(NULL) is a no-op.

* The order of some initializations was changed.  The safe ones, which
will never fail, are performed first.

Signed-off-by: Christopher Brannon <chris@the-brannons.com>
Acked-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

No differences found