• Daniel Scheller's avatar
    media: ddbridge: make (ddb)readl in while-loops fail-safe · d52786dd
    Daniel Scheller authored
    Reported by smatch:
    
      drivers/media/pci/ddbridge/ddbridge-core.c:1246 input_tasklet() warn: this loop depends on readl() succeeding
      drivers/media/pci/ddbridge/ddbridge-core.c:1768 flashio() warn: this loop depends on readl() succeeding
      drivers/media/pci/ddbridge/ddbridge-core.c:1788 flashio() warn: this loop depends on readl() succeeding
    
    Fix this by introducing safe_ddbreadl() which will wrap ddbreadl and checks
    for all bits set in the return which indicates failure, and return 0 in
    that case. Usable as drop-in-replacement in all affected while loops w/o
    having to change the logic.
    Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    d52786dd
ddbridge-core.c 56.4 KB