Currently lock gets freed only if timeout expires, but missed a
case when HW returns failure and goes for cleanup.
Fixes: efca3878a5fb ("ch_ktls: Issue if connection offload fails")
Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
Link: https://lore.kernel.org/r/20201125072626.10861-1-rohitm@chelsio.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                /* need to wait for hw response, can't free tx_info yet. */
                if (tx_info->open_state == CH_KTLS_OPEN_PENDING)
                        tx_info->pending_close = true;
-               /* free the lock after the cleanup */
+               else
+                       spin_unlock_bh(&tx_info->lock);
+               /* if in pending close, free the lock after the cleanup */
                goto put_module;
        }
        spin_unlock_bh(&tx_info->lock);