hi Marco > + retval = 0; > + out: > + if (retval && sbi->virt_addr) { > + iounmap(sbi->virt_addr); > + release_mem_region(sbi->phys_addr, initsize); > + kfree(sbi); > + } > + > + return retval; > +} > + I think kfree(sbi) should not be put here. In case of pram_parse_options failure, sbi should also be freed too. How about change it to the list below? And change some “goto out” branches to “goto out_free”. // retval = 0; return 0; out: if (retval && sbi->virt_addr) { iounmap(sbi->virt_addr); release_mem_region(sbi->phys_addr, initsize); } out_free: kfree(sbi); return retval; } -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html