That patch seems to do the trick! I tested it on top of r1450 with ATtiny1614 and JTAGICE3 (UPDI). I confirmed both reading and writing the flash works.
Sven > On 25 Jun 2021, at 06:51, Joerg Wunsch <invalid.nore...@gnu.org> wrote: > > Update of bug #60753 (project avrdude): > > Status: None => Confirmed > Assigned to: None => joerg_wunsch > > _______________________________________________________ > > Follow-up Comment #2: > > I suggest comparing against mem->page_size > 1 instead, since this is > basically identical in behaviour to the pre-#1436 behaviour. > > Also, there are more occasions than just line 364. > > Please test the following patch. > > +++ > Index: avr.c > =================================================================== > --- avr.c (revision 1450) > +++ avr.c (working copy) > @@ -330,7 +330,7 @@ > memset(mem->buf, 0xff, mem->size); > > /* supports "paged load" thru post-increment */ > - if ((p->flags & AVRPART_HAS_TPI) && mem->page_size != 0 && > + if ((p->flags & AVRPART_HAS_TPI) && mem->page_size > 1 && > pgm->cmd_tpi != NULL) { > > while (avr_tpi_poll_nvmbsy(pgm)); > @@ -361,7 +361,7 @@ > return avr_mem_hiaddr(mem); > } > > - if (pgm->paged_load != NULL && mem->page_size != 0) { > + if (pgm->paged_load != NULL && mem->page_size > 1) { > /* > * the programmer supports a paged mode read > */ > @@ -863,7 +863,7 @@ > } > > > - if ((p->flags & AVRPART_HAS_TPI) && m->page_size != 0 && > + if ((p->flags & AVRPART_HAS_TPI) && m->page_size > 1 && > pgm->cmd_tpi != NULL) { > > while (avr_tpi_poll_nvmbsy(pgm)); > @@ -903,7 +903,7 @@ > return i; > } > > - if (pgm->paged_write != NULL && m->page_size != 0) { > + if (pgm->paged_write != NULL && m->page_size > 1) { > /* > * the programmer supports a paged mode write > */ > --- > > _______________________________________________________ > > Reply to this item at: > > <https://savannah.nongnu.org/bugs/?60753> > > _______________________________________________ > Message sent via Savannah > https://savannah.nongnu.org/ >