Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29da03b9 authored by Faisal Latif's avatar Faisal Latif Committed by Roland Dreier
Browse files

RDMA/nes: Fix hang with modified FIN handling on A0 cards



Changing state to CLOSING when FIN is received causes A0 cards to
hang.  Fix this by checking for A0 cards in FIN handling.

Signed-off-by: default avatarFaisal Latif <faisal.latif@intel.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 67d70721
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3469,7 +3469,8 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,

			if (atomic_inc_return(&nesqp->close_timer_started) == 1) {
				if ((tcp_state == NES_AEQE_TCP_STATE_CLOSE_WAIT) &&
					(nesqp->ibqp_state == IB_QPS_RTS)) {
					(nesqp->ibqp_state == IB_QPS_RTS) &&
					((nesadapter->eeprom_version >> 16) != NES_A0)) {
					spin_lock_irqsave(&nesqp->lock, flags);
					nesqp->hw_iwarp_state = iwarp_state;
					nesqp->hw_tcp_state = tcp_state;
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#define NES_PHY_TYPE_KR	       9

#define NES_MULTICAST_PF_MAX 8
#define NES_A0 3

enum pci_regs {
	NES_INT_STAT = 0x0000,