pm8001: fix update_flash
The driver checks the return valu, but after he tries to wait_for_completion which might never happen. Also the ioctl buffer is freed at the end of the function, so the first removal is not needed. Signed-off-by: Tomas Henzl <thenzl@redhat.com> Acked-by: Suresh Thiagarajan <Suresh.Thiagarajan@pmcs.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
9422e864fa
commit
31d05e5b14
|
@ -617,11 +617,11 @@ static int pm8001_update_flash(struct pm8001_hba_info *pm8001_ha)
|
||||||
|
|
||||||
pm8001_ha->nvmd_completion = &completion;
|
pm8001_ha->nvmd_completion = &completion;
|
||||||
ret = PM8001_CHIP_DISP->fw_flash_update_req(pm8001_ha, payload);
|
ret = PM8001_CHIP_DISP->fw_flash_update_req(pm8001_ha, payload);
|
||||||
|
if (ret)
|
||||||
|
break;
|
||||||
wait_for_completion(&completion);
|
wait_for_completion(&completion);
|
||||||
if (ret || (fwControl->retcode > FLASH_UPDATE_IN_PROGRESS)) {
|
if (fwControl->retcode > FLASH_UPDATE_IN_PROGRESS) {
|
||||||
ret = fwControl->retcode;
|
ret = fwControl->retcode;
|
||||||
kfree(ioctlbuffer);
|
|
||||||
ioctlbuffer = NULL;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue