• Nicholas Bellinger's avatar
    ib_srpt: Destroy cm_id before destroying QP. · 0b41d6ca
    Nicholas Bellinger authored
    This patch fixes a bug where ib_destroy_cm_id() was incorrectly being called
    after srpt_destroy_ch_ib() had destroyed the active QP.
    
    This would result in the following failed SRP_LOGIN_REQ messages:
    
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff1762bd, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x2c903009f8f41)
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff1758f9, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 2 (guid=0xfe80000000000000:0x2c903009f8f42)
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff175941, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 2 (guid=0xfe80000000000000:0x2c90300a3cfb2)
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff176299, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x2c90300a3cfb1)
    mlx4_core 0000:84:00.0: command 0x19 failed: fw status = 0x9
    rejected SRP_LOGIN_REQ because creating a new RDMA channel failed.
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff176299, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x2c90300a3cfb1)
    mlx4_core 0000:84:00.0: command 0x19 failed: fw status = 0x9
    rejected SRP_LOGIN_REQ because creating a new RDMA channel failed.
    Received SRP_LOGIN_REQ with i_port_id 0x0:0x2590ffff176299, t_port_id 0x2c903009f8f40:0x2c903009f8f40 and it_iu_len 260 on port 1 (guid=0xfe80000000000000:0x2c90300a3cfb1)
    Reported-by: default avatarNavin Ahuja <navin.ahuja@saratoga-speed.com>
    Cc: stable@vger.kernel.org # 3.3+
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    0b41d6ca
ib_srpt.c 104 KB