cxgb4: Signedness bug in init_one()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 25 Sep 2019 10:54:59 +0000 (13:54 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Sep 2019 08:00:16 +0000 (10:00 +0200)
The "chip" variable is an enum, and it's treated as unsigned int by GCC
in this context so the error handling isn't triggered.

Fixes: e8d452923ae6 ("cxgb4: clean up init_one")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

index 71854a1..3802487 100644 (file)
@@ -5701,7 +5701,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        whoami = t4_read_reg(adapter, PL_WHOAMI_A);
        pci_read_config_word(pdev, PCI_DEVICE_ID, &device_id);
        chip = t4_get_chip_type(adapter, CHELSIO_PCI_ID_VER(device_id));
-       if (chip < 0) {
+       if ((int)chip < 0) {
                dev_err(&pdev->dev, "Device %d is not supported\n", device_id);
                err = chip;
                goto out_free_adapter;