netxen: netxen_rom_fast_read() doesn't return -1
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 5 May 2016 13:20:20 +0000 (16:20 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 7 May 2016 19:15:32 +0000 (15:15 -0400)
The error handling is broken here.  netxen_rom_fast_read() returns zero
on success and -EIO on error.  It never returns -1.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c

index fd362b6923f48b9fff5c55fdcf7fd241d94ef9aa..9c6eed9b45f7ed78eab2bccb459763a28643ddce 100644 (file)
@@ -852,7 +852,8 @@ netxen_check_options(struct netxen_adapter *adapter)
        ptr32 = (__le32 *)&serial_num;
        offset = NX_FW_SERIAL_NUM_OFFSET;
        for (i = 0; i < 8; i++) {
-               if (netxen_rom_fast_read(adapter, offset, &val) == -1) {
+               err = netxen_rom_fast_read(adapter, offset, &val);
+               if (err) {
                        dev_err(&pdev->dev, "error reading board info\n");
                        adapter->driver_mismatch = 1;
                        return;