cxgb4: Inform caller if driver didn't upgrade firmware
authorVipul Pandya <vipul@chelsio.com>
Wed, 26 Sep 2012 02:39:41 +0000 (02:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Sep 2012 21:55:50 +0000 (17:55 -0400)
If a card had already been initialized, on reloading cxgb4 driver firmware
required an upgrade but the upgrade did not happen. In that case a mailbox
timeout would occur during T4 configuration file stuff. The fix is to let the
caller know the firmware was not upgraded so a reset would be issued before
starting the T4 config stuff.

Signed-off-by: Jay Hernandez <jay@chelsio.com>
Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

index b9cd08df39b36c4d41e22f94912b823172c9acbc..a3f866d5b8f19803a173f9a74f50a98a0e033485 100644 (file)
@@ -933,7 +933,13 @@ static int upgrade_fw(struct adapter *adap)
                if (!ret)
                        dev_info(dev, "firmware upgraded to version %pI4 from "
                                 FW_FNAME "\n", &hdr->fw_ver);
+       } else {
+               /*
+                * Tell our caller that we didn't upgrade the firmware.
+                */
+               ret = -EINVAL;
        }
+
 out:   release_firmware(fw);
        return ret;
 }