Obviously, I endorse this idea. :) Every out label in this file is a 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel