mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH driver-core/master] firmware: Correct handling of fw_state_wait_timeout() return value
@ 2017-01-16 14:57 Jakub Kicinski
  2017-01-16 18:29 ` Luis R. Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Jakub Kicinski @ 2017-01-16 14:57 UTC (permalink / raw)
  To: gregkh
  Cc: Bjorn Andersson, Daniel Wagner, Luis R . Rodriguez, Ming Lei,
	linux-kernel, oss-drivers, Jakub Kicinski

Commit 5d47ec02c37e ("firmware: Correct handling of fw_state_wait()
return value") made the assumption that any error returned from
fw_state_wait_timeout() means FW load has to be aborted.  This is
incorrect FW load only has to be aborted when load timed out or
has been interrupted, otherwise the waking thread had already
cleaned up for us.

Fixes: 5d47ec02c37e ("firmware: Correct handling of fw_state_wait() return value")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
---
 drivers/base/firmware_class.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 4497d263209f..ce142e6b2c72 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -1020,7 +1020,7 @@ static int _request_firmware_load(struct firmware_priv *fw_priv,
 	}
 
 	retval = fw_state_wait_timeout(&buf->fw_st, timeout);
-	if (retval < 0) {
+	if (retval == -ETIMEDOUT || retval == -ERESTARTSYS) {
 		mutex_lock(&fw_lock);
 		fw_load_abort(fw_priv);
 		mutex_unlock(&fw_lock);
-- 
2.11.0

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-16 19:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-16 14:57 [PATCH driver-core/master] firmware: Correct handling of fw_state_wait_timeout() return value Jakub Kicinski
2017-01-16 18:29 ` Luis R. Rodriguez
2017-01-16 19:13   ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®