diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2013-01-28 22:34:36 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-29 23:28:45 -0500 |
commit | c88d40b25ffc8099aa7a28f62dce85bee66b1892 (patch) | |
tree | b092e85c12258c4df98b3b945dea5061f59d82a6 | |
parent | de321a14da65a534da89a80dde949d0c6ff6316f (diff) |
staging/fwserial: Release port regardless of unplug response code
After sending the unplug response, release the port even if an
error occurred.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/fwserial/fwserial.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/staging/fwserial/fwserial.c b/drivers/staging/fwserial/fwserial.c index 8db4b41d4f43..e40b480d4dc2 100644 --- a/drivers/staging/fwserial/fwserial.c +++ b/drivers/staging/fwserial/fwserial.c | |||
@@ -2684,10 +2684,9 @@ static void fwserial_handle_unplug_req(struct work_struct *work) | |||
2684 | 2684 | ||
2685 | spin_lock_bh(&peer->lock); | 2685 | spin_lock_bh(&peer->lock); |
2686 | if (peer->state == FWPS_UNPLUG_RESPONDING) { | 2686 | if (peer->state == FWPS_UNPLUG_RESPONDING) { |
2687 | if (rcode == RCODE_COMPLETE) | 2687 | if (rcode != RCODE_COMPLETE) |
2688 | port = peer_revert_state(peer); | ||
2689 | else | ||
2690 | fwtty_err(&peer->unit, "UNPLUG_RSP error (%d)", rcode); | 2688 | fwtty_err(&peer->unit, "UNPLUG_RSP error (%d)", rcode); |
2689 | port = peer_revert_state(peer); | ||
2691 | } | 2690 | } |
2692 | cleanup: | 2691 | cleanup: |
2693 | spin_unlock_bh(&peer->lock); | 2692 | spin_unlock_bh(&peer->lock); |