net: ti: icssg-prueth: Fix signedness bug in prueth_init_tx_chns()
authorDan Carpenter <dan.carpenter@linaro.org>
Tue, 26 Sep 2023 14:05:59 +0000 (17:05 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Oct 2023 09:29:55 +0000 (10:29 +0100)
The "tx_chn->irq" variable is unsigned so the error checking does not
work correctly.

Fixes: 128d5874c082 ("net: ti: icssg-prueth: Add ICSSG ethernet driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/icssg/icssg_prueth.c

index 410612f..e3dcb08 100644 (file)
@@ -316,12 +316,14 @@ static int prueth_init_tx_chns(struct prueth_emac *emac)
                        goto fail;
                }
 
-               tx_chn->irq = k3_udma_glue_tx_get_irq(tx_chn->tx_chn);
-               if (tx_chn->irq <= 0) {
-                       ret = -EINVAL;
+               ret = k3_udma_glue_tx_get_irq(tx_chn->tx_chn);
+               if (ret <= 0) {
+                       if (!ret)
+                               ret = -EINVAL;
                        netdev_err(ndev, "failed to get tx irq\n");
                        goto fail;
                }
+               tx_chn->irq = ret;
 
                snprintf(tx_chn->name, sizeof(tx_chn->name), "%s-tx%d",
                         dev_name(dev), tx_chn->id);