diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2018-03-23 06:48:07 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2018-03-23 06:54:33 -0400 |
commit | 0df305eb50e5dc447ddb9eab71bc7394cb9e76e4 (patch) | |
tree | c8b574e122a557a2c6457993de6dd50410b6490c /drivers/media/pci/solo6x10 | |
parent | d3c449e16fc829dba347dc72106f8d28b15896f9 (diff) | |
download | blackbird-op-linux-0df305eb50e5dc447ddb9eab71bc7394cb9e76e4.tar.gz blackbird-op-linux-0df305eb50e5dc447ddb9eab71bc7394cb9e76e4.zip |
media: solo6x10: simplify the logic at solo_p2m_dma_desc()
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>
Diffstat (limited to 'drivers/media/pci/solo6x10')
-rw-r--r-- | drivers/media/pci/solo6x10/solo6x10-p2m.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/media/pci/solo6x10/solo6x10-p2m.c b/drivers/media/pci/solo6x10/solo6x10-p2m.c index 8c8484674d2f..46c30430e30b 100644 --- a/drivers/media/pci/solo6x10/solo6x10-p2m.c +++ b/drivers/media/pci/solo6x10/solo6x10-p2m.c @@ -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]; |