You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In general, we have several flags which are FW booting related in struct snd_sof_dev, that is .boot_complete, .boot_wait, .code_loading, .waitq, we need to clean up them, e.g. to use only one or two, we need define clear steps and states during FW booting(until the FW_READY message received and boot finished).
change boot_complete to be boot_state, and it can be enumerated as BOOT_INIT, BOOT_ONGOING, BOOT_FAILED, BOOT_SUCCESS.
And then in the place boot failed, set boot_state to BOOT_FAILED, in IPC handling, handle fw_ready message only at BOOT_ONGOING stage.
The thought here is from: ASoC: SOF: loader: fix kernel oops on firmware boot failure #1174 (comment)
@plbossart We still need to remove some redundant code:
hda_dsp_ipc_is_sof in hda-ipc.c can be removed, because FW_PURGE will never propagate to IRQ thread, so this function for filter it out can be safely removed.
wait_event_timeout(sdev->waitq, !sdev->code_loading, HDA_DSP_CL_TRIGGER_TIMEOUT); the wait on code_loading in hda_loader.c line182 always return 0, which indicate timeout. so sdev->waitq and sdev->code_loading can be removed, too.
Activity
plbossart commentedon Mar 3, 2020
@keyonjie I think we implemented everything listed in this enhancement, can we close?
aiChaoSONG commentedon Mar 4, 2020
@plbossart We still need to remove some redundant code:
keyonjie commentedon Mar 4, 2020
@plbossart I think the item 2 had already done by @ranj063 , for item 1, @aiChaoSONG can you re-activate and proceed your PR please?
aiChaoSONG commentedon Mar 4, 2020
@keyonjie The PR for item 1 is here #1854.
keyonjie commentedon Mar 6, 2020
@aiChaoSONG good, can you do the item 2 you listed above also?
aiChaoSONG commentedon Mar 9, 2020
@keyonjie PR for item 2 is here: #1875
aiChaoSONG commentedon Mar 13, 2020
closed for all done in the list
bonding: fix suspicious RCU usage in bond_ipsec_offload_ok()