|
@@ -1904,8 +1904,10 @@ static int abort_rpl(struct c4iw_dev *dev, struct sk_buff *skb)
|
|
|
}
|
|
}
|
|
|
mutex_unlock(&ep->com.mutex);
|
|
mutex_unlock(&ep->com.mutex);
|
|
|
|
|
|
|
|
- if (release)
|
|
|
|
|
|
|
+ if (release) {
|
|
|
|
|
+ close_complete_upcall(ep, -ECONNRESET);
|
|
|
release_ep_resources(ep);
|
|
release_ep_resources(ep);
|
|
|
|
|
+ }
|
|
|
c4iw_put_ep(&ep->com);
|
|
c4iw_put_ep(&ep->com);
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
@@ -3608,7 +3610,6 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp)
|
|
|
if (close) {
|
|
if (close) {
|
|
|
if (abrupt) {
|
|
if (abrupt) {
|
|
|
set_bit(EP_DISC_ABORT, &ep->com.history);
|
|
set_bit(EP_DISC_ABORT, &ep->com.history);
|
|
|
- close_complete_upcall(ep, -ECONNRESET);
|
|
|
|
|
ret = send_abort(ep);
|
|
ret = send_abort(ep);
|
|
|
} else {
|
|
} else {
|
|
|
set_bit(EP_DISC_CLOSE, &ep->com.history);
|
|
set_bit(EP_DISC_CLOSE, &ep->com.history);
|