diff options
author | np <np@FreeBSD.org> | 2017-05-31 00:43:34 +0000 |
---|---|---|
committer | np <np@FreeBSD.org> | 2017-05-31 00:43:34 +0000 |
commit | 43460b6809aa848955814e91a181de083c1d6ad0 (patch) | |
tree | e36914e030e7d4a297475596532038fc2a3db5a6 /sys/dev/cxgbe | |
parent | 10cfe6e5a12ebe2649c1820dc1d9d413dd74b5fb (diff) | |
download | FreeBSD-src-43460b6809aa848955814e91a181de083c1d6ad0.zip FreeBSD-src-43460b6809aa848955814e91a181de083c1d6ad0.tar.gz |
MFC r318774:
cxgbe/iw_cxgbe: sodisconnect failures are harmless and should not be
treated as fatal errors.
Sponsored by: Chelsio Communications
Diffstat (limited to 'sys/dev/cxgbe')
-rw-r--r-- | sys/dev/cxgbe/iw_cxgbe/cm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/dev/cxgbe/iw_cxgbe/cm.c b/sys/dev/cxgbe/iw_cxgbe/cm.c index b8ad644..da20784 100644 --- a/sys/dev/cxgbe/iw_cxgbe/cm.c +++ b/sys/dev/cxgbe/iw_cxgbe/cm.c @@ -2376,6 +2376,8 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) set_bit(EP_DISC_ABORT, &ep->com.history); close_complete_upcall(ep, -ECONNRESET); ret = send_abort(ep); + if (ret) + fatal = 1; } else { CTR2(KTR_IW_CXGBE, "%s:ced5 %p", __func__, ep); @@ -2383,13 +2385,9 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) if (!ep->parent_ep) __state_set(&ep->com, MORIBUND); - ret = sodisconnect(ep->com.so); + sodisconnect(ep->com.so); } - if (ret) { - - fatal = 1; - } } if (fatal) { |