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: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
此提交包含在:
Faisal Latif
2010-09-01 15:43:11 +00:00
提交者 Roland Dreier
父節點 67d7072115
當前提交 29da03b9d1
共有 2 個檔案被更改,包括 3 行新增1 行删除

查看文件

@@ -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;

查看文件

@@ -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,