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
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