|
@@ -1769,7 +1769,6 @@ csio_hw_use_fwconfig(struct csio_hw *hw, int reset, u32 *fw_cfg_param)
|
|
|
goto bye;
|
|
|
}
|
|
|
|
|
|
- mempool_free(mbp, hw->mb_mempool);
|
|
|
if (finicsum != cfcsum) {
|
|
|
csio_warn(hw,
|
|
|
"Config File checksum mismatch: csum=%#x, computed=%#x\n",
|
|
@@ -1780,6 +1779,10 @@ csio_hw_use_fwconfig(struct csio_hw *hw, int reset, u32 *fw_cfg_param)
|
|
|
rv = csio_hw_validate_caps(hw, mbp);
|
|
|
if (rv != 0)
|
|
|
goto bye;
|
|
|
+
|
|
|
+ mempool_free(mbp, hw->mb_mempool);
|
|
|
+ mbp = NULL;
|
|
|
+
|
|
|
/*
|
|
|
* Note that we're operating with parameters
|
|
|
* not supplied by the driver, rather than from hard-wired
|