add dynamic memory allocate for *chan_info