Hello Scott,
Am 24.07.2013 21:08, schrieb Scott Wood:
On 07/23/2013 11:30:55 PM, Heiko Schocher wrote:
Hello Scott,
Am 24.07.2013 01:22, schrieb Scott Wood:
On 07/18/2013 11:32:14 PM, Heiko Schocher wrote:
+static int dfu_flush_medium_nand(struct dfu_entity *dfu)
+{
+ int ret = 0;
+
+ /* in case of ubi partition, erase rest of the partition */
+ if (dfu->data.nand.ubi) {
+ nand_info_t *nand;
+ nand_erase_options_t opts;
+
+ if (nand_curr_device < 0 ||
+ nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
+ !nand_info[nand_curr_device].name) {
+ printf("%s: invalid nand device\n", __func__);
+ return -1;
+ }
+
+ nand = &nand_info[nand_curr_device];
+
+ memset(&opts, 0, sizeof(opts));
+ opts.offset = dfu->data.nand.start + dfu->offset +
+ dfu->bad_skip;
+ opts.length = dfu->data.nand.start +
+ dfu->data.nand.size - opts.offset;
opts.length is equivalent to dfu->data.nand.size - dfu->offset - dfu->bad_skip. Is this
correct? dfu->data.nand.size includes dfu->offset, but dfu->data.nand.start doesn't?
Yes, it is correct!
No need to shout...
Sorry, I did not intent to shout ...
I could not parse "dfu->data.nand.size includes dfu->offset, but
dfu->data.nand.start doesn't" ... What do you mean?
I think my confusion was over what dfu->offset and nand.start represent. If
nand.start/nand.size describe the raw partition, and dfu->offset is the offset
into that partition that the image starts at, then this looks OK.
Ok, I send an update of this patch for your other comment, thanks.
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot