Obviously, I endorse this idea. :) Every out label in this file isa do-nothing label or a do-everything label, but with bugs. usb_boot()should look like:free_tx_buf: kfree(tx_buf);release_firm: release_firmware(firm); ret;If we fail to allocate "tx_buf" then we should release the firmware.em_download_image() has the same bug as well.regards,dan carpenter