]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
media: solo6x10: simplify the logic at solo_p2m_dma_desc()
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 10:48:07 +0000 (06:48 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 10:54:33 +0000 (06:54 -0400)
The logic with gets a p2m_id is more complex than needed,
causing false positives with static analyzers:

drivers/media/pci/solo6x10/solo6x10-p2m.c:81 solo_p2m_dma_desc() error: buffer overflow 'solo_dev->p2m_dev' 4 <= s32max

Make it simpler and use unsigned int.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/pci/solo6x10/solo6x10-p2m.c

index 8c8484674d2f6cc7d1ff60539ec960df7e133f3c..46c30430e30bc27d215c9210242f7de4130cd05a 100644 (file)
@@ -69,14 +69,11 @@ int solo_p2m_dma_desc(struct solo_dev *solo_dev,
        unsigned int timeout;
        unsigned int config = 0;
        int ret = 0;
-       int p2m_id = 0;
+       unsigned int p2m_id = 0;
 
        /* Get next ID. According to Softlogic, 6110 has problems on !=0 P2M */
-       if (solo_dev->type != SOLO_DEV_6110 && multi_p2m) {
+       if (solo_dev->type != SOLO_DEV_6110 && multi_p2m)
                p2m_id = atomic_inc_return(&solo_dev->p2m_count) % SOLO_NR_P2M;
-               if (p2m_id < 0)
-                       p2m_id = -p2m_id;
-       }
 
        p2m_dev = &solo_dev->p2m_dev[p2m_id];