dmaengine: fail device registration if channel registration fails
authorDan Williams <dan.j.williams@intel.com>
Wed, 25 Mar 2009 16:13:23 +0000 (09:13 -0700)
committerDan Williams <dan.j.williams@intel.com>
Wed, 25 Mar 2009 16:13:23 +0000 (09:13 -0700)
Atsushi points out:
"If alloc_percpu or kzalloc failed, chan_id does not match with its
position in device->channels list.

And above "continue" looks buggy anyway.  Keeping incomplete channels
in device->channels list looks very dangerous..."

Also, fix up leakage of idr_ref in the idr_pre_get() and channel init
fail cases.

Reported-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>

No differences found