Message ID | 20190526153904.28871-4-ikegami.t@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | Vignesh R |
Headers | show |
Series | mtd: cfi_cmdset_0002: Fix flash write issue for OpenWrt Project | expand |
On 26-May-19 9:08 PM, Tokunori Ikegami wrote: > By the removed goto statement it can be called xip_enable() once. > Also for a maintainability refactor it to call the function only once. > Please squash this into previous patch. Regards Vignesh > Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com> > Cc: Fabio Bettoni <fbettoni@gmail.com> > Co: Hauke Mehrtens <hauke@hauke-m.de> > Co: Koen Vandeputte <koen.vandeputte@ncentric.com> > Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> > Cc: Joakim Tjernlund <Joakim.Tjernlund@infinera.com> > Cc: linux-mtd@lists.infradead.org > --- > Changes since v5: > - Rebased on top of Liu Jian's fixes in master. > - Change the email address of Tokunori Ikegami to ikegami.t@gmail.com. > > Changes since v4: > - None. > > Changes since v3: > - Just change the email address of Tokunori Ikegami to ikegami_to@yahoo.co.jp. > > Changes since v2: > - None. > > Changes since v1: > - Split from the patch v1 3/3. > > drivers/mtd/chips/cfi_cmdset_0002.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c > index ca41f47c00c1..2654019ee24b 100755 > --- a/drivers/mtd/chips/cfi_cmdset_0002.c > +++ b/drivers/mtd/chips/cfi_cmdset_0002.c > @@ -1892,10 +1892,8 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, > break; > } > > - if (chip_good(map, adr, datum)) { > - xip_enable(map, chip, adr); > + if (chip_good(map, adr, datum)) > break; > - } > > /* Latency issues. Drop the lock, wait a while and retry */ > UDELAY(map, chip, adr, 1); > @@ -1916,13 +1914,14 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, > cfi->device_type, NULL); > cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi, > cfi->device_type, NULL); > - xip_enable(map, chip, adr); > /* FIXME - should have reset delay before continuing */ > > printk(KERN_WARNING "MTD %s(): software timeout, address:0x%.8lx.\n", > __func__, adr); > } > > + xip_enable(map, chip, adr); > + > chip->state = FL_READY; > DISABLE_VPP(map); > put_chip(map, chip, adr); >
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index ca41f47c00c1..2654019ee24b 100755 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -1892,10 +1892,8 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, break; } - if (chip_good(map, adr, datum)) { - xip_enable(map, chip, adr); + if (chip_good(map, adr, datum)) break; - } /* Latency issues. Drop the lock, wait a while and retry */ UDELAY(map, chip, adr, 1); @@ -1916,13 +1914,14 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, cfi->device_type, NULL); cfi_send_gen_cmd(0xF0, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL); - xip_enable(map, chip, adr); /* FIXME - should have reset delay before continuing */ printk(KERN_WARNING "MTD %s(): software timeout, address:0x%.8lx.\n", __func__, adr); } + xip_enable(map, chip, adr); + chip->state = FL_READY; DISABLE_VPP(map); put_chip(map, chip, adr);
By the removed goto statement it can be called xip_enable() once. Also for a maintainability refactor it to call the function only once. Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com> Cc: Fabio Bettoni <fbettoni@gmail.com> Co: Hauke Mehrtens <hauke@hauke-m.de> Co: Koen Vandeputte <koen.vandeputte@ncentric.com> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> Cc: Joakim Tjernlund <Joakim.Tjernlund@infinera.com> Cc: linux-mtd@lists.infradead.org --- Changes since v5: - Rebased on top of Liu Jian's fixes in master. - Change the email address of Tokunori Ikegami to ikegami.t@gmail.com. Changes since v4: - None. Changes since v3: - Just change the email address of Tokunori Ikegami to ikegami_to@yahoo.co.jp. Changes since v2: - None. Changes since v1: - Split from the patch v1 3/3. drivers/mtd/chips/cfi_cmdset_0002.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)