X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fat91sam7.c;h=7d0de3aaf5288f1e6409dff76165954d5c96cc0f;hb=b3d4a44686c8ed14baab7c466f14321b2dc5fec8;hp=e46122ad8a2ae3265a99d82e0008755895631271;hpb=9f0cba528a163645c8ecace413731c23310f2c26;p=openocd.git diff --git a/src/flash/nor/at91sam7.c b/src/flash/nor/at91sam7.c index e46122ad8a..7d0de3aaf5 100644 --- a/src/flash/nor/at91sam7.c +++ b/src/flash/nor/at91sam7.c @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ****************************************************************************/ /*************************************************************************** @@ -353,9 +353,8 @@ static int at91sam7_flash_command(struct flash_bank *bank, uint8_t cmd, uint16_t /* Read device id register, main clock frequency register and fill in driver info structure */ static int at91sam7_read_part_info(struct flash_bank *bank) { - struct flash_bank *t_bank = bank; struct at91sam7_flash_bank *at91sam7_info; - struct target *target = t_bank->target; + struct target *target = bank->target; uint16_t bnk, sec; uint16_t arch; @@ -370,12 +369,12 @@ static int at91sam7_read_part_info(struct flash_bank *bank) uint32_t base_address = 0; char *target_name_t = "Unknown"; - at91sam7_info = t_bank->driver_priv; + at91sam7_info = bank->driver_priv; if (at91sam7_info->cidr != 0) { /* flash already configured, update clock and check for protected sectors */ struct flash_bank *fb = bank; - t_bank = fb; + struct flash_bank *t_bank = bank; while (t_bank) { /* re-calculate master clock frequency */ @@ -404,7 +403,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank) if (at91sam7_info->flash_autodetection == 0) { /* banks and sectors are already created, based on data from input file */ struct flash_bank *fb = bank; - t_bank = fb; + struct flash_bank *t_bank = bank; while (t_bank) { at91sam7_info = t_bank->driver_priv; @@ -576,6 +575,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank) bank_size = sectors_num * pages_per_sector * page_size; for (bnk = 0; bnk < banks_num; bnk++) { + struct flash_bank *t_bank = bank; if (bnk > 0) { if (!t_bank->next) { /* create a new flash bank element */ @@ -897,8 +897,10 @@ static int at91sam7_erase(struct flash_bank *bank, int first, int last) for (pos = 0; pos < nbytes; pos++) buffer[pos] = 0xFF; - if (at91sam7_write(bank, buffer, bank->sectors[first].offset, nbytes) != ERROR_OK) + if (at91sam7_write(bank, buffer, bank->sectors[first].offset, nbytes) != ERROR_OK) { + free(buffer); return ERROR_FLASH_OPERATION_FAILED; + } free(buffer); }