struct sctp_chunk *shut;
 
        packet = sctp_ootb_pkt_new(net, asoc, chunk);
+       if (!packet)
+               return SCTP_DISPOSITION_NOMEM;
 
-       if (packet) {
-               /* Make an SHUTDOWN_COMPLETE.
-                * The T bit will be set if the asoc is NULL.
-                */
-               shut = sctp_make_shutdown_complete(asoc, chunk);
-               if (!shut) {
-                       sctp_ootb_pkt_free(packet);
-                       return SCTP_DISPOSITION_NOMEM;
-               }
-
-               /* Reflect vtag if T-Bit is set */
-               if (sctp_test_T_bit(shut))
-                       packet->vtag = ntohl(chunk->sctp_hdr->vtag);
+       /* Make an SHUTDOWN_COMPLETE.
+        * The T bit will be set if the asoc is NULL.
+        */
+       shut = sctp_make_shutdown_complete(asoc, chunk);
+       if (!shut) {
+               sctp_ootb_pkt_free(packet);
+               return SCTP_DISPOSITION_NOMEM;
+       }
 
-               /* Set the skb to the belonging sock for accounting.  */
-               shut->skb->sk = ep->base.sk;
+       /* Reflect vtag if T-Bit is set */
+       if (sctp_test_T_bit(shut))
+               packet->vtag = ntohl(chunk->sctp_hdr->vtag);
 
-               sctp_packet_append_chunk(packet, shut);
+       /* Set the skb to the belonging sock for accounting.  */
+       shut->skb->sk = ep->base.sk;
 
-               sctp_add_cmd_sf(commands, SCTP_CMD_SEND_PKT,
-                               SCTP_PACKET(packet));
+       sctp_packet_append_chunk(packet, shut);
 
-               SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS);
+       sctp_add_cmd_sf(commands, SCTP_CMD_SEND_PKT,
+                       SCTP_PACKET(packet));
 
-               /* If the chunk length is invalid, we don't want to process
-                * the reset of the packet.
-                */
-               if (!sctp_chunk_length_valid(chunk, sizeof(sctp_chunkhdr_t)))
-                       return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
+       SCTP_INC_STATS(net, SCTP_MIB_OUTCTRLCHUNKS);
 
-               /* We need to discard the rest of the packet to prevent
-                * potential bomming attacks from additional bundled chunks.
-                * This is documented in SCTP Threats ID.
-                */
+       /* If the chunk length is invalid, we don't want to process
+        * the reset of the packet.
+        */
+       if (!sctp_chunk_length_valid(chunk, sizeof(sctp_chunkhdr_t)))
                return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
-       }
 
-       return SCTP_DISPOSITION_NOMEM;
+       /* We need to discard the rest of the packet to prevent
+        * potential bomming attacks from additional bundled chunks.
+        * This is documented in SCTP Threats ID.
+        */
+       return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
 }
 
 /*