get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/1001/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1001,
    "url": "http://patchwork.ozlabs.org/api/patches/1001/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20080922.191232.240003968.davem@davemloft.net/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20080922.191232.240003968.davem@davemloft.net>",
    "list_archive_url": null,
    "date": "2008-09-23T02:12:32",
    "name": "[1/7] : net: Remove __skb_insert() calls outside of skbuff internals.",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "fe2a27c4a2e21079c7050bfaeaf0cc225ca42e60",
    "submitter": {
        "id": 15,
        "url": "http://patchwork.ozlabs.org/api/people/15/?format=api",
        "name": "David Miller",
        "email": "davem@davemloft.net"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20080922.191232.240003968.davem@davemloft.net/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/1001/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1001/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.176.167])\n\tby ozlabs.org (Postfix) with ESMTP id 3C5EFDDECA\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 23 Sep 2008 12:12:51 +1000 (EST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754087AbYIWCMr (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 22 Sep 2008 22:12:47 -0400",
            "(majordomo@vger.kernel.org) by vger.kernel.org id S1754073AbYIWCMq\n\t(ORCPT <rfc822; netdev-outgoing>); Mon, 22 Sep 2008 22:12:46 -0400",
            "from 74-93-104-97-Washington.hfc.comcastbusiness.net\n\t([74.93.104.97]:37171\n\t\"EHLO sunset.davemloft.net\" rhost-flags-OK-FAIL-OK-OK)\n\tby vger.kernel.org with ESMTP id S1754043AbYIWCMo (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 22 Sep 2008 22:12:44 -0400",
            "from localhost (localhost [127.0.0.1])\n\tby sunset.davemloft.net (Postfix) with ESMTP id A3876C8C181\n\tfor <netdev@vger.kernel.org>; Mon, 22 Sep 2008 19:12:32 -0700 (PDT)"
        ],
        "Date": "Mon, 22 Sep 2008 19:12:32 -0700 (PDT)",
        "Message-Id": "<20080922.191232.240003968.davem@davemloft.net>",
        "To": "netdev@vger.kernel.org",
        "Subject": "[PATCH 1/7]: net: Remove __skb_insert() calls outside of skbuff\n\tinternals.",
        "From": "David Miller <davem@davemloft.net>",
        "X-Mailer": "Mew version 6.1 on Emacs 22.1 / Mule 5.0 (SAKAKI)",
        "Mime-Version": "1.0",
        "Content-Type": "Text/Plain; charset=us-ascii",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller <davem@davemloft.net>\n---\n drivers/net/cassini.c     |    2 +-\n drivers/net/ppp_generic.c |    2 +-\n drivers/net/pppol2tp.c    |    2 +-\n include/net/tcp.h         |    4 ++--\n net/ipv4/tcp_input.c      |    4 ++--\n net/sctp/ulpqueue.c       |    5 ++---\n 6 files changed, 9 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c\nindex f1936d5..40ff6a9 100644\n--- a/drivers/net/cassini.c\n+++ b/drivers/net/cassini.c\n@@ -2182,7 +2182,7 @@ static inline void cas_rx_flow_pkt(struct cas *cp, const u64 *words,\n \t * do any additional locking here. stick the buffer\n \t * at the end.\n \t */\n-\t__skb_insert(skb, flow->prev, (struct sk_buff *) flow, flow);\n+\t__skb_queue_tail(flow, skb);\n \tif (words[0] & RX_COMP1_RELEASE_FLOW) {\n \t\twhile ((skb = __skb_dequeue(flow))) {\n \t\t\tcas_skb_release(skb);\ndiff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c\nindex ddccc07..98e0495 100644\n--- a/drivers/net/ppp_generic.c\n+++ b/drivers/net/ppp_generic.c\n@@ -1864,7 +1864,7 @@ ppp_mp_insert(struct ppp *ppp, struct sk_buff *skb)\n \tfor (p = list->next; p != (struct sk_buff *)list; p = p->next)\n \t\tif (seq_before(seq, p->sequence))\n \t\t\tbreak;\n-\t__skb_insert(skb, p->prev, p, list);\n+\t__skb_queue_before(list, p, skb);\n }\n \n /*\ndiff --git a/drivers/net/pppol2tp.c b/drivers/net/pppol2tp.c\nindex ff175e8..185b1df 100644\n--- a/drivers/net/pppol2tp.c\n+++ b/drivers/net/pppol2tp.c\n@@ -353,7 +353,7 @@ static void pppol2tp_recv_queue_skb(struct pppol2tp_session *session, struct sk_\n \tspin_lock_bh(&session->reorder_q.lock);\n \tskb_queue_walk_safe(&session->reorder_q, skbp, tmp) {\n \t\tif (PPPOL2TP_SKB_CB(skbp)->ns > ns) {\n-\t\t\t__skb_insert(skb, skbp->prev, skbp, &session->reorder_q);\n+\t\t\t__skb_queue_before(&session->reorder_q, skbp, skb);\n \t\t\tPRINTK(session->debug, PPPOL2TP_MSG_SEQ, KERN_DEBUG,\n \t\t\t       \"%s: pkt %hu, inserted before %hu, reorder_q len=%d\\n\",\n \t\t\t       session->name, ns, PPPOL2TP_SKB_CB(skbp)->ns,\ndiff --git a/include/net/tcp.h b/include/net/tcp.h\nindex ea81572..f857c3e 100644\n--- a/include/net/tcp.h\n+++ b/include/net/tcp.h\n@@ -1268,12 +1268,12 @@ static inline void tcp_insert_write_queue_after(struct sk_buff *skb,\n \t__skb_queue_after(&sk->sk_write_queue, skb, buff);\n }\n \n-/* Insert skb between prev and next on the write queue of sk.  */\n+/* Insert new before skb on the write queue of sk.  */\n static inline void tcp_insert_write_queue_before(struct sk_buff *new,\n \t\t\t\t\t\t  struct sk_buff *skb,\n \t\t\t\t\t\t  struct sock *sk)\n {\n-\t__skb_insert(new, skb->prev, skb, &sk->sk_write_queue);\n+\t__skb_queue_before(&sk->sk_write_queue, skb, new);\n \n \tif (sk->sk_send_head == skb)\n \t\tsk->sk_send_head = new;\ndiff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c\nindex 85627f8..cbfe13d 100644\n--- a/net/ipv4/tcp_input.c\n+++ b/net/ipv4/tcp_input.c\n@@ -4156,7 +4156,7 @@ drop:\n \t\t\t\tskb1 = skb1->prev;\n \t\t\t}\n \t\t}\n-\t\t__skb_insert(skb, skb1, skb1->next, &tp->out_of_order_queue);\n+\t\t__skb_queue_after(&tp->out_of_order_queue, skb1, skb);\n \n \t\t/* And clean segments covered by new one as whole. */\n \t\twhile ((skb1 = skb->next) !=\n@@ -4254,7 +4254,7 @@ tcp_collapse(struct sock *sk, struct sk_buff_head *list,\n \t\tmemcpy(nskb->head, skb->head, header);\n \t\tmemcpy(nskb->cb, skb->cb, sizeof(skb->cb));\n \t\tTCP_SKB_CB(nskb)->seq = TCP_SKB_CB(nskb)->end_seq = start;\n-\t\t__skb_insert(nskb, skb->prev, skb, list);\n+\t\t__skb_queue_before(list, skb, nskb);\n \t\tskb_set_owner_r(nskb, sk);\n \n \t\t/* Copy data, releasing collapsed skbs. */\ndiff --git a/net/sctp/ulpqueue.c b/net/sctp/ulpqueue.c\nindex 5061a26..7b23803 100644\n--- a/net/sctp/ulpqueue.c\n+++ b/net/sctp/ulpqueue.c\n@@ -317,7 +317,7 @@ static void sctp_ulpq_store_reasm(struct sctp_ulpq *ulpq,\n \t}\n \n \t/* Insert before pos. */\n-\t__skb_insert(sctp_event2skb(event), pos->prev, pos, &ulpq->reasm);\n+\t__skb_queue_before(&ulpq->reasm, pos, sctp_event2skb(event));\n \n }\n \n@@ -825,8 +825,7 @@ static void sctp_ulpq_store_ordered(struct sctp_ulpq *ulpq,\n \n \n \t/* Insert before pos. */\n-\t__skb_insert(sctp_event2skb(event), pos->prev, pos, &ulpq->lobby);\n-\n+\t__skb_queue_before(&ulpq->lobby, pos, sctp_event2skb(event));\n }\n \n static struct sctp_ulpevent *sctp_ulpq_order(struct sctp_ulpq *ulpq,\n",
    "prefixes": [
        "1/7"
    ]
}