On Mon, 16 Mar 2009 14:50:46 -0700, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > And above "continue" looks buggy anyway. Keeping incomplete channels > > in device->channels list looks very dangerous... > > Yes it does. Here is the proposed fix: > -----> > dmaengine: fail device registration if channel registration fails > > From: Dan Williams <dan.j.williams@xxxxxxxxx> > > 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..." > > Reported-by: Atsushi Nemoto <anemo@xxxxxxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Thanks, but it seems a hole sill exists. If alloc_percpu or kzalloc for the first channel failed, when idr_ref will be freed ? Hmm.. why idr_ref is dynamically allocated? Just putting it in dma_device makes thing more simple, no? --- Atsushi Nemoto