On 11/16/2012 02:59 PM, Andy Shevchenko : > dma_transfer_direction is a normal enum. It means we can't usually use the > values as bit fields. Let's adjust this check and move it above the usage of > the direction parameter. > > Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com> > Cc: Nicolas Ferre <nicolas.fe...@atmel.com>
Whatever name of function is: Acked-by: Nicolas Ferre <nicolas.fe...@atmel.com> > --- > drivers/dma/at_hdmac.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c > index 13a02f4..997ae54 100644 > --- a/drivers/dma/at_hdmac.c > +++ b/drivers/dma/at_hdmac.c > @@ -778,7 +778,7 @@ err: > */ > static int > atc_dma_cyclic_check_values(unsigned int reg_width, dma_addr_t buf_addr, > - size_t period_len, enum dma_transfer_direction direction) > + size_t period_len) > { > if (period_len > (ATC_BTSIZE_MAX << reg_width)) > goto err_out; > @@ -786,8 +786,6 @@ atc_dma_cyclic_check_values(unsigned int reg_width, > dma_addr_t buf_addr, > goto err_out; > if (unlikely(buf_addr & ((1 << reg_width) - 1))) > goto err_out; > - if (unlikely(!(direction & (DMA_DEV_TO_MEM | DMA_MEM_TO_DEV)))) > - goto err_out; > > return 0; > > @@ -886,14 +884,16 @@ atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t > buf_addr, size_t buf_len, > return NULL; > } > > + if (unlikely(!is_slave_xfer(direction))) > + goto err_out; > + > if (sconfig->direction == DMA_MEM_TO_DEV) > reg_width = convert_buswidth(sconfig->dst_addr_width); > else > reg_width = convert_buswidth(sconfig->src_addr_width); > > /* Check for too big/unaligned periods and unaligned DMA buffer */ > - if (atc_dma_cyclic_check_values(reg_width, buf_addr, > - period_len, direction)) > + if (atc_dma_cyclic_check_values(reg_width, buf_addr, period_len)) > goto err_out; > > /* build cyclic linked list */ > -- Nicolas Ferre -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/