File tree Expand file tree Collapse file tree 2 files changed +6
-12
lines changed Expand file tree Collapse file tree 2 files changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -141,7 +141,7 @@ int sfdp_find_addr_region(bd_addr_t offset, const sfdp_hdr_info &sfdp_info);
141
141
* @param region Region number
142
142
* @param smptbl Information about different erase types
143
143
*
144
- * @return Largest erase type
144
+ * @return Largest erase type, or -1 if none matches the given address and size
145
145
*/
146
146
int sfdp_iterate_next_largest_erase_type (uint8_t bitfield,
147
147
int size,
Original file line number Diff line number Diff line change @@ -400,30 +400,24 @@ int sfdp_iterate_next_largest_erase_type(uint8_t bitfield,
400
400
const sfdp_smptbl_info &smptbl)
401
401
{
402
402
uint8_t type_mask = SFDP_ERASE_BITMASK_TYPE4;
403
- int largest_erase_type = 0 ;
404
-
405
- int idx;
406
403
unsigned int erase_size;
407
- for (idx = 3 ; idx >= 0 ; idx--) {
404
+ for (int idx = 3 ; idx >= 0 ; idx--) {
408
405
if (bitfield & type_mask) {
409
- largest_erase_type = idx;
410
- erase_size = smptbl.erase_type_size_arr [largest_erase_type];
406
+ erase_size = smptbl.erase_type_size_arr [idx];
411
407
// Criteria:
412
408
// * offset is aligned to the type's erase size
413
409
// * erase size is no larger than the requested size,
414
410
// * erase range does not exceed the region boundary
415
411
if ((offset % erase_size == 0 ) && (size >= erase_size) &&
416
412
(offset + erase_size - 1 <= smptbl.region_high_boundary [region])) {
417
- break ;
413
+ return idx ;
418
414
}
419
415
}
420
416
type_mask = type_mask >> 1 ;
421
417
}
422
418
423
- if (idx == -1 ) {
424
- tr_error (" No erase type was found for current region addr" );
425
- }
426
- return largest_erase_type;
419
+ tr_error (" No erase type was found for current region addr" );
420
+ return -1 ;
427
421
}
428
422
429
423
int sfdp_detect_device_density (uint8_t *bptbl_ptr, sfdp_bptbl_info &bptbl_info)
You can’t perform that action at this time.
0 commit comments