Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

chcr: Fix CPU hard lockup

Soft lock should be taken in place of hard lock.

Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Rohit Maheshwari and committed by
David S. Miller
d97793af f35d1297

+2 -4
+2 -4
drivers/crypto/chelsio/chcr_ktls.c
··· 120 120 static int chcr_ktls_update_connection_state(struct chcr_ktls_info *tx_info, 121 121 int new_state) 122 122 { 123 - unsigned long flags; 124 - 125 123 /* This function can be called from both rx (interrupt context) and tx 126 124 * queue contexts. 127 125 */ 128 - spin_lock_irqsave(&tx_info->lock, flags); 126 + spin_lock_bh(&tx_info->lock); 129 127 switch (tx_info->connection_state) { 130 128 case KTLS_CONN_CLOSED: 131 129 tx_info->connection_state = new_state; ··· 167 169 pr_err("unknown KTLS connection state\n"); 168 170 break; 169 171 } 170 - spin_unlock_irqrestore(&tx_info->lock, flags); 172 + spin_unlock_bh(&tx_info->lock); 171 173 172 174 return tx_info->connection_state; 173 175 }