Commit f195a1a6 authored by Dave Jiang's avatar Dave Jiang Committed by Jon Mason

ntb: Drop packets when qp link is down

Currently when the transport receive packets after netdev has closed the
transport returns error and triggers tx errors to be incremented and
carrier to be stopped. There is no reason to return error if the device is
already closed. Drop the packet and return 0.

Fixes: e26a5843 ("NTB: Split ntb_hw_intel and ntb_transport drivers")
Reported-by: default avatarYuan Y Lu <yuan.y.lu@intel.com>
Tested-by: default avatarYuan Y Lu <yuan.y.lu@intel.com>
Reviewed-by: default avatarLogan Gunthorpe <logang@deltatee.com>
Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
parent cc79bd27
......@@ -2283,9 +2283,13 @@ int ntb_transport_tx_enqueue(struct ntb_transport_qp *qp, void *cb, void *data,
struct ntb_queue_entry *entry;
int rc;
if (!qp || !qp->link_is_up || !len)
if (!qp || !len)
return -EINVAL;
/* If the qp link is down already, just ignore. */
if (!qp->link_is_up)
return 0;
entry = ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q);
if (!entry) {
qp->tx_err_no_buf++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment