> Currently the tx channels share same pool of descriptors. Thus one channel can > block another if pool is emptied by one. But, the shaper should decide which > channel is allowed to send packets. To avoid such impact of one channel on > another, let every channel to have its own peace of pool. Piece. > +/** > + * cpdma_chan_split_pool - Splits ctrl pool between all channels. > + * Has to be called under ctlr lock > + * > + */ No need for the extra empty comment line. > + /* calculate average size of pool slice */ > + ch_desc_num = pool->num_desc / ctlr->chan_num; > + > + /* split ctlr pool */ > + for (i = 0; i < ARRAY_SIZE(ctlr->channels); i++) { > + chan = ctlr->channels[i]; > + if (chan) > + chan->desc_num = ch_desc_num; Is this 'if' needed? If there's some route where the channel can be NULL, You're splitting the value incorrectly. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html