Lines Matching refs:erase
342 struct erase_info *erase; in concat_erase() local
392 erase = kmalloc(sizeof (struct erase_info), GFP_KERNEL); in concat_erase()
394 if (!erase) in concat_erase()
397 *erase = *instr; in concat_erase()
406 if (subdev->size <= erase->addr) { in concat_erase()
407 erase->addr -= subdev->size; in concat_erase()
424 if (erase->addr + length > subdev->size) in concat_erase()
425 erase->len = subdev->size - erase->addr; in concat_erase()
427 erase->len = length; in concat_erase()
429 length -= erase->len; in concat_erase()
430 if ((err = mtd_erase(subdev, erase))) { in concat_erase()
434 if (erase->fail_addr != MTD_FAIL_ADDR_UNKNOWN) in concat_erase()
435 instr->fail_addr = erase->fail_addr + offset; in concat_erase()
446 erase->addr = 0; in concat_erase()
449 kfree(erase); in concat_erase()