get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 986,
    "url": "http://patchwork.ozlabs.org/api/patches/986/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20080922220619.GD3660@tuxdriver.com/",
    "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": "<20080922220619.GD3660@tuxdriver.com>",
    "list_archive_url": null,
    "date": "2008-09-22T22:06:19",
    "name": "pull request: wireless-2.6 2008-09-22",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "5949d1a35a9ed2cf0db85a48f1c88fa1631a062b",
    "submitter": {
        "id": 419,
        "url": "http://patchwork.ozlabs.org/api/people/419/?format=api",
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20080922220619.GD3660@tuxdriver.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/986/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/986/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 48A2ADDDF4\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 23 Sep 2008 08:07:24 +1000 (EST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1753409AbYIVWGv (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tMon, 22 Sep 2008 18:06:51 -0400",
            "(majordomo@vger.kernel.org) by vger.kernel.org id S1753412AbYIVWGv\n\t(ORCPT <rfc822; netdev-outgoing>); Mon, 22 Sep 2008 18:06:51 -0400",
            "from charlotte.tuxdriver.com ([70.61.120.58]:44410 \"EHLO\n\tsmtp.tuxdriver.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1753342AbYIVWGt (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Mon, 22 Sep 2008 18:06:49 -0400",
            "from sapphire.tuxdriver.com ([70.61.120.61] helo=localhost)\n\tby smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128)\n\t(Exim 4.63) (envelope-from <linville@tuxdriver.com>)\n\tid 1KhtYN-0005qb-9b; Mon, 22 Sep 2008 18:06:47 -0400"
        ],
        "Date": "Mon, 22 Sep 2008 18:06:19 -0400",
        "From": "\"John W. Linville\" <linville@tuxdriver.com>",
        "To": "davem@davemloft.net",
        "Cc": "linux-wireless@vger.kernel.org, netdev@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org",
        "Subject": "pull request: wireless-2.6 2008-09-22",
        "Message-ID": "<20080922220619.GD3660@tuxdriver.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=us-ascii",
        "Content-Disposition": "inline",
        "User-Agent": "Mutt/1.5.18 (2008-05-17)",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "Dave,\n\nHere are a few more for 2.6.27.  The ath9k patches fix an oops and a\nkernel.org bugzilla (11570).  The zd1211rw patch is just a PCI ID --\nhopefully that is not still outside the lines even at this stage.\n\nPlease let me know if there are problems!\n\nThanks,\n\nJohn\n\nP.S.  This will create a merge conflict in -next.  I have done a sample\nresolve of the merge here:\n\n  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6.git merge-test\n\n---\n\nIndividual patches are available here:\n\n\thttp://www.kernel.org/pub/linux/kernel/people/linville/wireless-2.6/\n\n---\n\nThe following changes since commit ad55dcaff0e34269f86975ce2ea0da22e9eb74a1:\n  Alexander Duyck (1):\n        netdev: simple_tx_hash shouldn't hash inside fragments\n\nare available in the git repository at:\n\n  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git master\n\nSenthil Balasubramanian (2):\n      ath9k: connectivity is lost after Group rekeying is done\n      ath9k: Fix IRQ nobody cared issue with ath9k\n\nborn.into.silence@gmail.com (1):\n      wireless: zd1211rw: add device ID fix wifi dongle \"trust nw-3100\"\n\n drivers/net/wireless/ath9k/core.c      |    4 ++--\n drivers/net/wireless/ath9k/core.h      |    1 -\n drivers/net/wireless/ath9k/main.c      |   12 ++++++++----\n drivers/net/wireless/ath9k/xmit.c      |    6 +++---\n drivers/net/wireless/zd1211rw/zd_usb.c |    1 +\n 5 files changed, 14 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/drivers/net/wireless/ath9k/core.c b/drivers/net/wireless/ath9k/core.c\nindex f6c4528..c049593 100644\n--- a/drivers/net/wireless/ath9k/core.c\n+++ b/drivers/net/wireless/ath9k/core.c\n@@ -294,8 +294,6 @@ static int ath_stop(struct ath_softc *sc)\n \t * hardware is gone (invalid).\n \t */\n \n-\tif (!sc->sc_invalid)\n-\t\tath9k_hw_set_interrupts(ah, 0);\n \tath_draintxq(sc, false);\n \tif (!sc->sc_invalid) {\n \t\tath_stoprecv(sc);\n@@ -1336,6 +1334,8 @@ void ath_deinit(struct ath_softc *sc)\n \n \tDPRINTF(sc, ATH_DBG_CONFIG, \"%s\\n\", __func__);\n \n+\ttasklet_kill(&sc->intr_tq);\n+\ttasklet_kill(&sc->bcon_tasklet);\n \tath_stop(sc);\n \tif (!sc->sc_invalid)\n \t\tath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);\ndiff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h\nindex 4ee695b..2f84093 100644\n--- a/drivers/net/wireless/ath9k/core.h\n+++ b/drivers/net/wireless/ath9k/core.h\n@@ -974,7 +974,6 @@ struct ath_softc {\n \tu32 sc_keymax;\t\t/* size of key cache */\n \tDECLARE_BITMAP(sc_keymap, ATH_KEYMAX);\t/* key use bit map */\n \tu8 sc_splitmic;\t\t/* split TKIP MIC keys */\n-\tint sc_keytype;\n \n \t/* RX */\n \tstruct list_head sc_rxbuf;\ndiff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c\nindex 99badf1..acebdf1 100644\n--- a/drivers/net/wireless/ath9k/main.c\n+++ b/drivers/net/wireless/ath9k/main.c\n@@ -206,8 +206,6 @@ static int ath_key_config(struct ath_softc *sc,\n \tif (!ret)\n \t\treturn -EIO;\n \n-\tif (mac)\n-\t\tsc->sc_keytype = hk.kv_type;\n \treturn 0;\n }\n \n@@ -778,7 +776,6 @@ static int ath9k_set_key(struct ieee80211_hw *hw,\n \tcase DISABLE_KEY:\n \t\tath_key_delete(sc, key);\n \t\tclear_bit(key->keyidx, sc->sc_keymap);\n-\t\tsc->sc_keytype = ATH9K_CIPHER_CLR;\n \t\tbreak;\n \tdefault:\n \t\tret = -EINVAL;\n@@ -1414,10 +1411,17 @@ static void ath_pci_remove(struct pci_dev *pdev)\n {\n \tstruct ieee80211_hw *hw = pci_get_drvdata(pdev);\n \tstruct ath_softc *sc = hw->priv;\n+\tenum ath9k_int status;\n \n-\tif (pdev->irq)\n+\tif (pdev->irq) {\n+\t\tath9k_hw_set_interrupts(sc->sc_ah, 0);\n+\t\t/* clear the ISR */\n+\t\tath9k_hw_getisr(sc->sc_ah, &status);\n+\t\tsc->sc_invalid = 1;\n \t\tfree_irq(pdev->irq, sc);\n+\t}\n \tath_detach(sc);\n+\n \tpci_iounmap(pdev, sc->mem);\n \tpci_release_region(pdev, 0);\n \tpci_disable_device(pdev);\ndiff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c\nindex 550129f..8b332e1 100644\n--- a/drivers/net/wireless/ath9k/xmit.c\n+++ b/drivers/net/wireless/ath9k/xmit.c\n@@ -315,11 +315,11 @@ static int ath_tx_prepare(struct ath_softc *sc,\n \t\ttxctl->keyix = tx_info->control.hw_key->hw_key_idx;\n \t\ttxctl->frmlen += tx_info->control.icv_len;\n \n-\t\tif (sc->sc_keytype == ATH9K_CIPHER_WEP)\n+\t\tif (tx_info->control.hw_key->alg == ALG_WEP)\n \t\t\ttxctl->keytype = ATH9K_KEY_TYPE_WEP;\n-\t\telse if (sc->sc_keytype == ATH9K_CIPHER_TKIP)\n+\t\telse if (tx_info->control.hw_key->alg == ALG_TKIP)\n \t\t\ttxctl->keytype = ATH9K_KEY_TYPE_TKIP;\n-\t\telse if (sc->sc_keytype == ATH9K_CIPHER_AES_CCM)\n+\t\telse if (tx_info->control.hw_key->alg == ALG_CCMP)\n \t\t\ttxctl->keytype = ATH9K_KEY_TYPE_AES;\n \t}\n \ndiff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c\nindex da8b743..a60ae86 100644\n--- a/drivers/net/wireless/zd1211rw/zd_usb.c\n+++ b/drivers/net/wireless/zd1211rw/zd_usb.c\n@@ -58,6 +58,7 @@ static struct usb_device_id usb_ids[] = {\n \t{ USB_DEVICE(0x0586, 0x3407), .driver_info = DEVICE_ZD1211 },\n \t{ USB_DEVICE(0x129b, 0x1666), .driver_info = DEVICE_ZD1211 },\n \t{ USB_DEVICE(0x157e, 0x300a), .driver_info = DEVICE_ZD1211 },\n+\t{ USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 },\n \t/* ZD1211B */\n \t{ USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },\n \t{ USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },\n",
    "prefixes": []
}