|
@@ -636,7 +636,7 @@ static int broadsheet_spiflash_rewrite_sector(struct broadsheetfb_par *par,
|
|
|
err = broadsheet_spiflash_read_range(par, start_sector_addr,
|
|
|
data_start_addr, sector_buffer);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto out;
|
|
|
}
|
|
|
|
|
|
/* now we copy our data into the right place in the sector buffer */
|
|
@@ -657,7 +657,7 @@ static int broadsheet_spiflash_rewrite_sector(struct broadsheetfb_par *par,
|
|
|
err = broadsheet_spiflash_read_range(par, tail_start_addr,
|
|
|
tail_len, sector_buffer + tail_start_addr);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto out;
|
|
|
}
|
|
|
|
|
|
/* if we got here we have the full sector that we want to rewrite. */
|
|
@@ -665,11 +665,13 @@ static int broadsheet_spiflash_rewrite_sector(struct broadsheetfb_par *par,
|
|
|
/* first erase the sector */
|
|
|
err = broadsheet_spiflash_erase_sector(par, start_sector_addr);
|
|
|
if (err)
|
|
|
- return err;
|
|
|
+ goto out;
|
|
|
|
|
|
/* now write it */
|
|
|
err = broadsheet_spiflash_write_sector(par, start_sector_addr,
|
|
|
sector_buffer, sector_size);
|
|
|
+out:
|
|
|
+ kfree(sector_buffer);
|
|
|
return err;
|
|
|
}
|
|
|
|