2021-02-10 19:23:17

by Colin King

[permalink] [raw]
Subject: [PATCH][next][V2] media: uvcvideo: remove duplicated dma_dev assignments

From: Colin Ian King <[email protected]>

The assignment to dma_dev has been performed twice in one
statement. Fix this by removing the extraneous assignment.

Addresses-Coverity: ("Evaluation order violation")
Fixes: fdcd02a641e2 ("media: uvcvideo: Use dma_alloc_noncontiguos API")
Signed-off-by: Colin Ian King <[email protected]>
---

V2: Fix 2nd occurrence of this same issue.

---
drivers/media/usb/uvc/uvc_video.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
index dc81f9a86eca..6f2f308d86fe 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -1105,7 +1105,7 @@ static inline struct device *stream_to_dmadev(struct uvc_streaming *stream)

static void uvc_urb_dma_sync(struct uvc_urb *uvc_urb, bool for_device)
{
- struct device *dma_dev = dma_dev = stream_to_dmadev(uvc_urb->stream);
+ struct device *dma_dev = stream_to_dmadev(uvc_urb->stream);

if (for_device) {
dma_sync_sgtable_for_device(dma_dev, uvc_urb->sgt,
@@ -1586,7 +1586,7 @@ static void uvc_video_complete(struct urb *urb)
*/
static void uvc_free_urb_buffers(struct uvc_streaming *stream)
{
- struct device *dma_dev = dma_dev = stream_to_dmadev(stream);
+ struct device *dma_dev = stream_to_dmadev(stream);
struct uvc_urb *uvc_urb;

for_each_uvc_urb(uvc_urb, stream) {
--
2.30.0


2021-02-10 23:52:09

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH][next][V2] media: uvcvideo: remove duplicated dma_dev assignments

Hi Colin,

(CC'ing Christoph)

Thank you for the patch.

On Wed, Feb 10, 2021 at 07:19:42PM +0000, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The assignment to dma_dev has been performed twice in one
> statement. Fix this by removing the extraneous assignment.
>
> Addresses-Coverity: ("Evaluation order violation")
> Fixes: fdcd02a641e2 ("media: uvcvideo: Use dma_alloc_noncontiguos API")
> Signed-off-by: Colin Ian King <[email protected]>

The fix looks good to me,

Reviewed-by: Laurent Pinchart <[email protected]>

As I wasn't CC'ed on the offending patch, and given that it didn't get
merged through the linux-media tree and isn't in the linux-media master
branch, I'll let Ricardo and Christoph deal with the fallout for
linux-next.

> ---
>
> V2: Fix 2nd occurrence of this same issue.
>
> ---
> drivers/media/usb/uvc/uvc_video.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
> index dc81f9a86eca..6f2f308d86fe 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -1105,7 +1105,7 @@ static inline struct device *stream_to_dmadev(struct uvc_streaming *stream)
>
> static void uvc_urb_dma_sync(struct uvc_urb *uvc_urb, bool for_device)
> {
> - struct device *dma_dev = dma_dev = stream_to_dmadev(uvc_urb->stream);
> + struct device *dma_dev = stream_to_dmadev(uvc_urb->stream);
>
> if (for_device) {
> dma_sync_sgtable_for_device(dma_dev, uvc_urb->sgt,
> @@ -1586,7 +1586,7 @@ static void uvc_video_complete(struct urb *urb)
> */
> static void uvc_free_urb_buffers(struct uvc_streaming *stream)
> {
> - struct device *dma_dev = dma_dev = stream_to_dmadev(stream);
> + struct device *dma_dev = stream_to_dmadev(stream);
> struct uvc_urb *uvc_urb;
>
> for_each_uvc_urb(uvc_urb, stream) {

--
Regards,

Laurent Pinchart