From: Ursula Braun Date: Thu, 14 Nov 2019 12:02:45 +0000 (+0100) Subject: net/smc: abnormal termination without orderly flag X-Git-Tag: v5.10.7~3838^2~91^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c1d3e50302fe3e0bd6873323877c2ad19db3f49;p=platform%2Fkernel%2Flinux-rpi.git net/smc: abnormal termination without orderly flag For abnormal termination issue an LLC DELETE_LINK without the orderly flag. Signed-off-by: Ursula Braun Signed-off-by: Karsten Graul Signed-off-by: David S. Miller --- diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 30854ac..ee44e82 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -161,10 +161,10 @@ static void smc_lgr_unregister_conn(struct smc_connection *conn) * of the DELETE LINK sequence from server; or as server to * initiate the delete processing. See smc_llc_rx_delete_link(). */ -static int smc_link_send_delete(struct smc_link *lnk) +static int smc_link_send_delete(struct smc_link *lnk, bool orderly) { if (lnk->state == SMC_LNK_ACTIVE && - !smc_llc_send_delete_link(lnk, SMC_LLC_REQ, true)) { + !smc_llc_send_delete_link(lnk, SMC_LLC_REQ, orderly)) { smc_llc_link_deleting(lnk); return 0; } @@ -201,7 +201,7 @@ static void smc_lgr_free_work(struct work_struct *work) if (!lgr->is_smcd && !lgr->terminating) { /* try to send del link msg, on error free lgr immediately */ if (lnk->state == SMC_LNK_ACTIVE && - !smc_link_send_delete(lnk)) { + !smc_link_send_delete(lnk, true)) { /* reschedule in case we never receive a response */ smc_lgr_schedule_free_work(lgr); spin_unlock_bh(lgr_lock); @@ -1233,9 +1233,7 @@ static void smc_lgrs_shutdown(void) if (!lgr->is_smcd) { struct smc_link *lnk = &lgr->lnk[SMC_SINGLE_LINK]; - if (lnk->state == SMC_LNK_ACTIVE) - smc_llc_send_delete_link(lnk, SMC_LLC_REQ, - false); + smc_link_send_delete(&lgr->lnk[SMC_SINGLE_LINK], false); smc_llc_link_inactive(lnk); } cancel_delayed_work_sync(&lgr->free_work);