diff for duplicates of <4E1471DC.2090407@hp.com> diff --git a/a/1.txt b/N1/1.txt index 2e408d7..edb1a29 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -9,7 +9,7 @@ On 07/06/2011 10:18 AM, Thomas Graf wrote: >>> + * as the receiver acknowledged any data. >>> + */ >>> + t = &asoc->timers[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]; ->>> + if (asoc->state = SCTP_STATE_SHUTDOWN_PENDING && +>>> + if (asoc->state == SCTP_STATE_SHUTDOWN_PENDING && >>> + timer_pending(t) && del_timer(t)) >>> + sctp_association_put(asoc); >>> + @@ -26,8 +26,8 @@ On 07/06/2011 10:18 AM, Thomas Graf wrote: >>> */ >>> if (!q->asoc->peer.rwnd && >>> !list_empty(&tlist) && ->>> - (sack_ctsn+2 = q->asoc->next_tsn)) { ->>> + (sack_ctsn+2 = q->asoc->next_tsn) && +>>> - (sack_ctsn+2 == q->asoc->next_tsn)) { +>>> + (sack_ctsn+2 == q->asoc->next_tsn) && >>> + !(q->asoc->state >= SCTP_STATE_SHUTDOWN_PENDING)) { >> >> Would a test for (q->asoc->state != SCTP_STATE_SHUTDOWN_PENDING) be clearer? We only @@ -60,7 +60,7 @@ and will abort after it expires. So there is no special handling on our part. > > Agreed. > ->>> + if (asoc->state = SCTP_STATE_SHUTDOWN_PENDING) { +>>> + if (asoc->state == SCTP_STATE_SHUTDOWN_PENDING) { >>> + /* >>> + * We are here likely because the receiver had its rwnd >>> + * closed for a while and we have not been able to diff --git a/a/content_digest b/N1/content_digest index 075206c..b7a8add 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -11,7 +11,7 @@ "ref\020110706141808.GA17652@canuck.infradead.org\0" "From\0Vladislav Yasevich <vladislav.yasevich@hp.com>\0" "Subject\0Re: [PATCHv2] sctp: Enforce retransmission limit during shutdown\0" - "Date\0Wed, 06 Jul 2011 14:31:56 +0000\0" + "Date\0Wed, 06 Jul 2011 10:31:56 -0400\0" "To\0netdev@vger.kernel.org" davem@davemloft.net Wei Yongjun <yjwei@cn.fujitsu.com> @@ -30,7 +30,7 @@ ">>> +\t\t\t * as the receiver acknowledged any data.\n" ">>> +\t\t\t */\n" ">>> +\t\t\tt = &asoc->timers[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD];\n" - ">>> +\t\t\tif (asoc->state = SCTP_STATE_SHUTDOWN_PENDING &&\n" + ">>> +\t\t\tif (asoc->state == SCTP_STATE_SHUTDOWN_PENDING &&\n" ">>> +\t\t\t timer_pending(t) && del_timer(t))\n" ">>> +\t\t\t\tsctp_association_put(asoc);\n" ">>> +\n" @@ -47,8 +47,8 @@ ">>> \t\t\t */\n" ">>> \t\t\tif (!q->asoc->peer.rwnd &&\n" ">>> \t\t\t !list_empty(&tlist) &&\n" - ">>> -\t\t\t (sack_ctsn+2 = q->asoc->next_tsn)) {\n" - ">>> +\t\t\t (sack_ctsn+2 = q->asoc->next_tsn) &&\n" + ">>> -\t\t\t (sack_ctsn+2 == q->asoc->next_tsn)) {\n" + ">>> +\t\t\t (sack_ctsn+2 == q->asoc->next_tsn) &&\n" ">>> +\t\t\t !(q->asoc->state >= SCTP_STATE_SHUTDOWN_PENDING)) {\n" ">>\n" ">> Would a test for (q->asoc->state != SCTP_STATE_SHUTDOWN_PENDING) be clearer? We only\n" @@ -81,7 +81,7 @@ "> \n" "> Agreed.\n" "> \n" - ">>> +\t\tif (asoc->state = SCTP_STATE_SHUTDOWN_PENDING) {\n" + ">>> +\t\tif (asoc->state == SCTP_STATE_SHUTDOWN_PENDING) {\n" ">>> +\t\t\t/*\n" ">>> +\t\t\t * We are here likely because the receiver had its rwnd\n" ">>> +\t\t\t * closed for a while and we have not been able to\n" @@ -103,4 +103,4 @@ "> Doh, absolutely. The timer_pending() check got lost between testing and submission.\n" > -742f9f37c41f2b9fa9f949e3336e113a3a8283ce6262bfdd452e099ba5298a67 +0ddfd41207ee35175534a445bbd127418dc8a99fd8fddb3674d758a1aa678615
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.