)]}'
{"src/flash/nor/bluenrg-x.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"6dfd3e47363d0beda81c5502007854061b35245b","unresolved":true,"context_lines":[{"line_number":273,"context_line":"{"},{"line_number":274,"context_line":"\tstruct bluenrgx_flash_bank *bluenrgx_info \u003d bank-\u003edriver_priv;"},{"line_number":275,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":276,"context_line":"\tuint32_t buffer_size \u003d 16384 + 8;"},{"line_number":277,"context_line":"\tstruct working_area *write_algorithm;"},{"line_number":278,"context_line":"\tstruct working_area *write_algorithm_stack;"},{"line_number":279,"context_line":"\tstruct working_area *source;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"eeaa3d58_8e33a864","side":"PARENT","line":276,"range":{"start_line":276,"start_character":30,"end_line":276,"end_character":33},"updated":"2026-05-07 10:25:06.000000000","message":"8 bytes reserved for write and read pointers was here for good reason.\nThe updated code neglects the buffer pointer area so aligning the size to FLASH_DATA_WIDTH would not work.\n\nSee `extra_size` in stm32l4x.c","commit_id":"cc32b36c8f4a8a4e50b83260a39fd83c4715b234"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"ff3c24c9a8a44234939a68028f06a41992565343","unresolved":true,"context_lines":[{"line_number":273,"context_line":"{"},{"line_number":274,"context_line":"\tstruct bluenrgx_flash_bank *bluenrgx_info \u003d bank-\u003edriver_priv;"},{"line_number":275,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":276,"context_line":"\tuint32_t buffer_size \u003d 16384 + 8;"},{"line_number":277,"context_line":"\tstruct working_area *write_algorithm;"},{"line_number":278,"context_line":"\tstruct working_area *write_algorithm_stack;"},{"line_number":279,"context_line":"\tstruct working_area *source;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"74335813_58cdad32","side":"PARENT","line":276,"range":{"start_line":276,"start_character":30,"end_line":276,"end_character":33},"in_reply_to":"495f3db8_5bbe62db","updated":"2026-07-04 17:54:53.000000000","message":"I think this is solved. Tomas?","commit_id":"cc32b36c8f4a8a4e50b83260a39fd83c4715b234"},{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"519ec24116e0598104f877d8bcbc48a53b26de26","unresolved":false,"context_lines":[{"line_number":273,"context_line":"{"},{"line_number":274,"context_line":"\tstruct bluenrgx_flash_bank *bluenrgx_info \u003d bank-\u003edriver_priv;"},{"line_number":275,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":276,"context_line":"\tuint32_t buffer_size \u003d 16384 + 8;"},{"line_number":277,"context_line":"\tstruct working_area *write_algorithm;"},{"line_number":278,"context_line":"\tstruct working_area *write_algorithm_stack;"},{"line_number":279,"context_line":"\tstruct working_area *source;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"63b3e9c2_2c9cde61","side":"PARENT","line":276,"range":{"start_line":276,"start_character":30,"end_line":276,"end_character":33},"in_reply_to":"74335813_58cdad32","updated":"2026-07-04 19:25:22.000000000","message":"Yup","commit_id":"cc32b36c8f4a8a4e50b83260a39fd83c4715b234"},{"author":{"_account_id":1002386,"name":"Ahmed Haoues","email":"ahmed.haoues@st.com","username":"ahmed-haoues"},"change_message_id":"67f61ffed6ae501b361e8ec8b53e1790158a9f4a","unresolved":true,"context_lines":[{"line_number":273,"context_line":"{"},{"line_number":274,"context_line":"\tstruct bluenrgx_flash_bank *bluenrgx_info \u003d bank-\u003edriver_priv;"},{"line_number":275,"context_line":"\tstruct target *target \u003d bank-\u003etarget;"},{"line_number":276,"context_line":"\tuint32_t buffer_size \u003d 16384 + 8;"},{"line_number":277,"context_line":"\tstruct working_area *write_algorithm;"},{"line_number":278,"context_line":"\tstruct working_area *write_algorithm_stack;"},{"line_number":279,"context_line":"\tstruct working_area *source;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"495f3db8_5bbe62db","side":"PARENT","line":276,"range":{"start_line":276,"start_character":30,"end_line":276,"end_character":33},"in_reply_to":"eeaa3d58_8e33a864","updated":"2026-05-08 11:23:45.000000000","message":"Good catch. I missed the 8 bytes reserved for the write/read pointers. As a result, aligning only to FLASH_DATA_WIDTH is incorrect, since it would only work for writes smaller than the available work area. I updated the code to align with FLASH_DATA_WIDTH and then account for these 8 bytes.","commit_id":"cc32b36c8f4a8a4e50b83260a39fd83c4715b234"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"7e3f7f565ce8a48dfb5d2ebe85340b880cfb6ffe","unresolved":true,"context_lines":[{"line_number":307,"context_line":"\t */"},{"line_number":308,"context_line":"\tuint32_t buffer_size \u003d target_get_working_area_avail(target) - 128 - 8;"},{"line_number":309,"context_line":"\t/* buffer size should be multiple of FLASH_DATA_WIDTH*/"},{"line_number":310,"context_line":"\tbuffer_size \u0026\u003d ~(FLASH_DATA_WIDTH - 1);"},{"line_number":311,"context_line":"\tbuffer_size +\u003d 8;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tif (buffer_size \u003c 256) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"89ad1570_20ce40ff","line":310,"updated":"2026-06-25 13:36:31.000000000","message":"Please use the macro from `#include \"helper/align.h\"`\n`buffer_size \u003d ALIGN_DOWN(buffer_size, FLASH_DATA_WIDTH);`","commit_id":"988d45f464a6596f1f379bfb4d5b79b8b45a8f36"},{"author":{"_account_id":1002386,"name":"Ahmed Haoues","email":"ahmed.haoues@st.com","username":"ahmed-haoues"},"change_message_id":"86659fe6f920e876a8d18ccc5ac80dd1c404da94","unresolved":false,"context_lines":[{"line_number":307,"context_line":"\t */"},{"line_number":308,"context_line":"\tuint32_t buffer_size \u003d target_get_working_area_avail(target) - 128 - 8;"},{"line_number":309,"context_line":"\t/* buffer size should be multiple of FLASH_DATA_WIDTH*/"},{"line_number":310,"context_line":"\tbuffer_size \u0026\u003d ~(FLASH_DATA_WIDTH - 1);"},{"line_number":311,"context_line":"\tbuffer_size +\u003d 8;"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"\tif (buffer_size \u003c 256) {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"5a36e91f_8d5d7b9e","line":310,"in_reply_to":"89ad1570_20ce40ff","updated":"2026-06-30 13:58:35.000000000","message":"Done","commit_id":"988d45f464a6596f1f379bfb4d5b79b8b45a8f36"}]}
