.. | .. |
---|
106 | 106 | |
---|
107 | 107 | static LIST_HEAD(pending_fw_head); |
---|
108 | 108 | |
---|
109 | | -void kill_pending_fw_fallback_reqs(bool only_kill_custom) |
---|
| 109 | +void kill_pending_fw_fallback_reqs(bool kill_all) |
---|
110 | 110 | { |
---|
111 | 111 | struct fw_priv *fw_priv; |
---|
112 | 112 | struct fw_priv *next; |
---|
.. | .. |
---|
114 | 114 | mutex_lock(&fw_lock); |
---|
115 | 115 | list_for_each_entry_safe(fw_priv, next, &pending_fw_head, |
---|
116 | 116 | pending_list) { |
---|
117 | | - if (!fw_priv->need_uevent || !only_kill_custom) |
---|
| 117 | + if (kill_all || !fw_priv->need_uevent) |
---|
118 | 118 | __fw_load_abort(fw_priv); |
---|
119 | 119 | } |
---|
| 120 | + |
---|
| 121 | + if (kill_all) |
---|
| 122 | + fw_load_abort_all = true; |
---|
| 123 | + |
---|
120 | 124 | mutex_unlock(&fw_lock); |
---|
121 | 125 | } |
---|
122 | 126 | |
---|
.. | .. |
---|
511 | 515 | } |
---|
512 | 516 | |
---|
513 | 517 | mutex_lock(&fw_lock); |
---|
514 | | - if (fw_state_is_aborted(fw_priv)) { |
---|
| 518 | + if (fw_load_abort_all || fw_state_is_aborted(fw_priv)) { |
---|
515 | 519 | mutex_unlock(&fw_lock); |
---|
516 | 520 | retval = -EINTR; |
---|
517 | 521 | goto out; |
---|