]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
Merge remote-tracking branch 'arm-soc/for-next'
[karo-tx-linux.git] / drivers / net / ethernet / chelsio / cxgb4 / t4_hw.c
index dc6ce31a83207baf4b8e49318d18c1a1d78f0001..cf61a5869c6e06627ada3947397a3c8889c2d662 100644 (file)
@@ -2981,11 +2981,15 @@ int t4_get_exprom_version(struct adapter *adap, u32 *vers)
  */
 int t4_check_fw_version(struct adapter *adap)
 {
-       int ret, major, minor, micro;
+       int i, ret, major, minor, micro;
        int exp_major, exp_minor, exp_micro;
        unsigned int chip_version = CHELSIO_CHIP_VERSION(adap->params.chip);
 
        ret = t4_get_fw_version(adap, &adap->params.fw_vers);
+       /* Try multiple times before returning error */
+       for (i = 0; (ret == -EBUSY || ret == -EAGAIN) && i < 3; i++)
+               ret = t4_get_fw_version(adap, &adap->params.fw_vers);
+
        if (ret)
                return ret;