diff options
| -rw-r--r-- | drivers/base/firmware_class.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 4497d263209f..ac350c518e0c 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c | |||
| @@ -558,9 +558,6 @@ static void fw_load_abort(struct firmware_priv *fw_priv) | |||
| 558 | struct firmware_buf *buf = fw_priv->buf; | 558 | struct firmware_buf *buf = fw_priv->buf; |
| 559 | 559 | ||
| 560 | __fw_load_abort(buf); | 560 | __fw_load_abort(buf); |
| 561 | |||
| 562 | /* avoid user action after loading abort */ | ||
| 563 | fw_priv->buf = NULL; | ||
| 564 | } | 561 | } |
| 565 | 562 | ||
| 566 | static LIST_HEAD(pending_fw_head); | 563 | static LIST_HEAD(pending_fw_head); |
| @@ -713,7 +710,7 @@ static ssize_t firmware_loading_store(struct device *dev, | |||
| 713 | 710 | ||
| 714 | mutex_lock(&fw_lock); | 711 | mutex_lock(&fw_lock); |
| 715 | fw_buf = fw_priv->buf; | 712 | fw_buf = fw_priv->buf; |
| 716 | if (!fw_buf) | 713 | if (fw_state_is_aborted(&fw_buf->fw_st)) |
| 717 | goto out; | 714 | goto out; |
| 718 | 715 | ||
| 719 | switch (loading) { | 716 | switch (loading) { |
