Remove the system error worker thread and instead have the execution environment worker handle that transition to serialize processing and avoid any possible race conditions during shutdown.
Showing the changes to include/linux (1 of 5 files). Show all
Unified · Split
| @@ -331,7 +331,6 @@ struct mhi_controller_config { · 330 unmodified lines | |||
| 331 | * @wlock: Lock for protecting device wakeup | 331 | * @wlock: Lock for protecting device wakeup |
| 332 | * @mhi_link_info: Device bandwidth info | 332 | * @mhi_link_info: Device bandwidth info |
| 333 | * @st_worker: State transition worker | 333 | * @st_worker: State transition worker |
| 334 | * @syserr_worker: System error worker | ||
| 335 | * @state_event: State change event | 334 | * @state_event: State change event |
| 336 | * @status_cb: CB function to notify power states of the device (required) | 335 | * @status_cb: CB function to notify power states of the device (required) |
| 337 | * @wake_get: CB function to assert device wake (optional) | 336 | * @wake_get: CB function to assert device wake (optional) |
| @@ -411,7 +410,6 @@ struct mhi_controller { · 73 unmodified lines | |||
| 411 | spinlock_t wlock; | 410 | spinlock_t wlock; |
| 412 | struct mhi_link_info mhi_link_info; | 411 | struct mhi_link_info mhi_link_info; |
| 413 | struct work_struct st_worker; | 412 | struct work_struct st_worker; |
| 414 | struct work_struct syserr_worker; | ||
| 415 | wait_queue_head_t state_event; | 413 | wait_queue_head_t state_event; |
| 416 | 414 | ||
| 417 | void (*status_cb)(struct mhi_controller *mhi_cntrl, | 415 | void (*status_cb)(struct mhi_controller *mhi_cntrl, |