/* Normally the volumes are freed at the release function of the volume device objects. However, on error paths the volumes have to be freed before the device objects have been initialized.  */
static void free_user_volumes(struct ubi_device *ubi)
/* Normally the volumes are freed at the release function of the volume device objects. However, on error paths the volumes have to be freed before the device objects have been initialized.  */
static void free_user_volumes(struct ubi_device *ubi)
{
	int i;
	for (i = 0; i < ubi->vtbl_slots; i++)
		if (ubi->volumes[i]) {
			kfree(ubi->volumes[i]->eba_tbl);
			kfree(ubi->volumes[i]);
		}
}