cxgb4i : Don't block unload/cxgb4 unload when remote closes TCP connection
cxgb4i was returning wrong error and not releasing module reference if remote end abruptly closed TCP connection. This prevents the cxgb4 network module from being unloaded, further affecting other network drivers dependent on cxgb4 Sending to net as this affects all cxgb4 based network drivers. Signed-off-by: Anish Bhatt <anish@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
ffb1388a36
Коммит
ee7255ada3
|
@ -828,6 +828,8 @@ static void do_act_open_rpl(struct cxgbi_device *cdev, struct sk_buff *skb)
|
|||
if (status == CPL_ERR_RTX_NEG_ADVICE)
|
||||
goto rel_skb;
|
||||
|
||||
module_put(THIS_MODULE);
|
||||
|
||||
if (status && status != CPL_ERR_TCAM_FULL &&
|
||||
status != CPL_ERR_CONN_EXIST &&
|
||||
status != CPL_ERR_ARP_MISS)
|
||||
|
|
|
@ -816,7 +816,7 @@ static void cxgbi_inform_iscsi_conn_closing(struct cxgbi_sock *csk)
|
|||
read_lock_bh(&csk->callback_lock);
|
||||
if (csk->user_data)
|
||||
iscsi_conn_failure(csk->user_data,
|
||||
ISCSI_ERR_CONN_FAILED);
|
||||
ISCSI_ERR_TCP_CONN_CLOSE);
|
||||
read_unlock_bh(&csk->callback_lock);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче