firmware: tegra: adjust tested variable
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sat, 27 Jan 2018 14:28:28 +0000 (15:28 +0100)
committerThierry Reding <treding@nvidia.com>
Thu, 8 Mar 2018 13:43:13 +0000 (14:43 +0100)
Check the variable that was most recently initialized.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x, y, f, g, e, m;
statement S1,S2,S3,S4;
@@

x = f(...);
if (\(<+...x...+>\&e\)) S1 else S2
(
x = g(...);
|
m = g(...,&x,...);
|
y = g(...);
*if (e)
 S3 else S4
)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/firmware/tegra/bpmp.c

index 81bc2dce8626d15da24e89d14b29065f169a2669..14a456afa379a073ee4cd233f96153edc1a79a3c 100644 (file)
@@ -694,7 +694,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev)
        }
 
        bpmp->rx.virt = gen_pool_dma_alloc(bpmp->rx.pool, 4096, &bpmp->rx.phys);
-       if (!bpmp->rx.pool) {
+       if (!bpmp->rx.virt) {
                dev_err(&pdev->dev, "failed to allocate from RX pool\n");
                err = -ENOMEM;
                goto free_tx;