@@ -247,8 +247,12 @@ int QSPIFBlockDevice::init()
247
247
}
248
248
249
249
// Configure BUS Mode to 1_1_1 for all commands other than Read
250
- _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
251
- 0 , QSPI_CFG_BUS_SINGLE, 0 );
250
+ if (QSPI_STATUS_OK != _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
251
+ 0 , QSPI_CFG_BUS_SINGLE, 0 )) {
252
+ tr_error (" _qspi_configure_format failed" );
253
+ status = QSPIF_BD_ERROR_DEVICE_ERROR;
254
+ goto exit_point;
255
+ }
252
256
253
257
_is_initialized = true ;
254
258
@@ -303,19 +307,29 @@ int QSPIFBlockDevice::read(void *buffer, bd_addr_t addr, bd_size_t size)
303
307
_mutex.lock ();
304
308
305
309
// Configure Bus for Reading
306
- _qspi_configure_format (_inst_width, _address_width, _address_size, _address_width, // Alt width == address width
307
- _alt_size, _data_width, _dummy_cycles);
310
+ if (QSPI_STATUS_OK != _qspi_configure_format (_inst_width, _address_width, _address_size, _address_width, // Alt width == address width
311
+ _alt_size, _data_width, _dummy_cycles)) {
312
+ tr_error (" _qspi_configure_format failed" );
313
+ status = QSPIF_BD_ERROR_DEVICE_ERROR;
314
+ goto exit_point;
315
+ }
308
316
309
317
if (QSPI_STATUS_OK != _qspi_send_read_command (_read_instruction, buffer, addr, size)) {
310
- status = QSPIF_BD_ERROR_DEVICE_ERROR;
311
318
tr_error (" Read Command failed" );
319
+ status = QSPIF_BD_ERROR_DEVICE_ERROR;
320
+ goto exit_point;
312
321
}
313
322
314
323
// All commands other than Read use default 1-1-1 Bus mode (Program/Erase are constrained by flash memory performance more than bus performance)
315
- _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
316
- 0 , QSPI_CFG_BUS_SINGLE, 0 );
324
+ if (QSPI_STATUS_OK != _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE, 0 , QSPI_CFG_BUS_SINGLE, 0 )) {
325
+ tr_error (" _qspi_configure_format failed" );
326
+ status = QSPIF_BD_ERROR_DEVICE_ERROR;
327
+ goto exit_point;
328
+ }
317
329
330
+ exit_point:
318
331
_mutex.unlock ();
332
+
319
333
return status;
320
334
321
335
}
@@ -718,8 +732,11 @@ int QSPIFBlockDevice::_sfdp_parse_sfdp_headers(uint32_t &basic_table_addr, size_
718
732
bd_addr_t addr = 0x0 ;
719
733
720
734
// Set 1-1-1 bus mode for SFDP header parsing
721
- _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
722
- 0 , QSPI_CFG_BUS_SINGLE, 8 );
735
+ if (QSPI_STATUS_OK != _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
736
+ 0 , QSPI_CFG_BUS_SINGLE, 8 )) {
737
+ tr_error (" _qspi_configure_format failed" );
738
+ return -1 ;
739
+ }
723
740
724
741
qspi_status_t status = _qspi_send_read_command (QSPIF_SFDP, (char *)sfdp_header, addr /* address*/ , data_length);
725
742
if (status != QSPI_STATUS_OK) {
@@ -885,8 +902,11 @@ int QSPIFBlockDevice::_sfdp_set_quad_enabled(uint8_t *basic_param_table_ptr)
885
902
}
886
903
887
904
// Configure BUS Mode to 1_1_1 for all commands other than Read
888
- _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
889
- 0 , QSPI_CFG_BUS_SINGLE, 0 );
905
+ if (QSPI_STATUS_OK != _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
906
+ 0 , QSPI_CFG_BUS_SINGLE, 0 )) {
907
+ tr_error (" _qspi_configure_format failed" );
908
+ return -1 ;
909
+ }
890
910
891
911
// Read Status Register
892
912
if (QSPI_STATUS_OK == _qspi_send_general_command (_read_register_inst, QSPI_NO_ADDRESS_COMMAND, NULL , 0 ,
@@ -1211,8 +1231,11 @@ int QSPIFBlockDevice::_enable_fast_mdoe()
1211
1231
status_reg_qer_setup[2 ] = 0x2 ; // Bit 1 of config Reg 2
1212
1232
1213
1233
// Configure BUS Mode to 1_1_1 for all commands other than Read
1214
- _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
1215
- 0 , QSPI_CFG_BUS_SINGLE, 0 );
1234
+ if (QSPI_STATUS_OK != _qspi_configure_format (QSPI_CFG_BUS_SINGLE, QSPI_CFG_BUS_SINGLE, QSPI_CFG_ADDR_SIZE_24, QSPI_CFG_BUS_SINGLE,
1235
+ 0 , QSPI_CFG_BUS_SINGLE, 0 )) {
1236
+ tr_error (" _qspi_configure_format failed" );
1237
+ return QSPIF_BD_ERROR_DEVICE_ERROR;
1238
+ }
1216
1239
1217
1240
// Read Status Register
1218
1241
if (QSPI_STATUS_OK == _qspi_send_general_command (read_conf_register_inst, QSPI_NO_ADDRESS_COMMAND, NULL , 0 ,
0 commit comments