No need to check the size of the firmware multiple times, just do it once
in the function responsible for loading as the firmwares are the same size.

Signed-off-by: Ben Whitten <ben.whit...@lairdtech.com>
---
 drivers/net/lora/sx1301.c | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/net/lora/sx1301.c b/drivers/net/lora/sx1301.c
index 3f2a532..916ee40 100644
--- a/drivers/net/lora/sx1301.c
+++ b/drivers/net/lora/sx1301.c
@@ -293,8 +293,10 @@ static int sx1301_load_firmware(struct sx1301_priv *priv, 
int mcu, const struct
        u8 val, rst, select_mux;
        int ret;
 
-       if (fw->size > 8192)
+       if (fw->size != 8192) {
+               dev_err(priv->dev, "Unexpected firmware size\n");
                return -EINVAL;
+       }
 
        switch (mcu) {
        case 0:
@@ -390,11 +392,6 @@ static int sx1301_agc_calibrate(struct sx1301_priv *priv)
                return ret;
        }
 
-       if (fw->size != 8192) {
-               dev_err(priv->dev, "unexpected agc cal firmware size\n");
-               return -EINVAL;
-       }
-
        ret = sx1301_load_firmware(priv, 1, fw);
        release_firmware(fw);
        if (ret) {
@@ -517,12 +514,6 @@ static int sx1301_load_all_firmware(struct sx1301_priv 
*priv)
                return ret;
        }
 
-       if (fw->size != 8192) {
-               dev_err(priv->dev, "unexpected arb firmware size\n");
-               release_firmware(fw);
-               return -EINVAL;
-       }
-
        ret = sx1301_load_firmware(priv, 0, fw);
        release_firmware(fw);
        if (ret)
@@ -534,12 +525,6 @@ static int sx1301_load_all_firmware(struct sx1301_priv 
*priv)
                return ret;
        }
 
-       if (fw->size != 8192) {
-               dev_err(priv->dev, "unexpected agc firmware size\n");
-               release_firmware(fw);
-               return -EINVAL;
-       }
-
        ret = sx1301_load_firmware(priv, 1, fw);
        release_firmware(fw);
        if (ret)
-- 
2.7.4

Reply via email to