Am Freitag, dem 23.06.2023 um 18:08 +0800 schrieb Sui Jingfeng: > From: Sui Jingfeng <suijingfeng@xxxxxxxxxxx> > > Because the 'else' is not generally useful after the 'return'. While your cleanup is a correct rewrite of the function, the current code in this function is bogus, as we need to check for the bidirectional (READ | WRITE) case first. Currently we just pick the DMA_FROM_DEVICE direction when both flags are set, which is clearly not right. Regards, Lucas > > Signed-off-by: Sui Jingfeng <suijingfeng@xxxxxxxxxxx> > --- > drivers/gpu/drm/etnaviv/etnaviv_gem.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > index be2f459c66b5..271470723d5e 100644 > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c > @@ -358,10 +358,11 @@ static inline enum dma_data_direction etnaviv_op_to_dma_dir(u32 op) > { > if (op & ETNA_PREP_READ) > return DMA_FROM_DEVICE; > - else if (op & ETNA_PREP_WRITE) > + > + if (op & ETNA_PREP_WRITE) > return DMA_TO_DEVICE; > - else > - return DMA_BIDIRECTIONAL; > + > + return DMA_BIDIRECTIONAL; > } > > int etnaviv_gem_cpu_prep(struct drm_gem_object *obj, u32 op,