)]}'
{
  "log": [
    {
      "commit": "c4e00fac42f268ed0a547cdd1d12bb8399864040",
      "tree": "1a54d87be2066c49b71a03764fcb4fc7f9c68c41",
      "parents": [
        "29454dde27d8e340bb1987bad9aa504af7081eba",
        "d6b0c53723753fc0cfda63f56735b225c43e1e9a"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Mon Jul 03 09:41:12 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Mon Jul 03 09:41:12 2006 -0500"
      },
      "message": "Merge ../scsi-misc-2.6\n\nConflicts:\n\n\tdrivers/scsi/nsp32.c\n\tdrivers/scsi/pcmcia/nsp_cs.c\n\nRemoval of randomness flag conflicts with SA_ -\u003e IRQF_ global\nreplacement.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "22a3e233ca08a2ddc949ba1ae8f6e16ec7ef1a13",
      "tree": "7ef158ba2c30e0dde2dc103d1904fae243759a6b",
      "parents": [
        "39302175c26d74be35715c05a0f342c9e64c21bf",
        "6ab3d5624e172c553004ecc862bfeac16d9d68b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 15:39:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  Remove obsolete #include \u003clinux/config.h\u003e\n  remove obsolete swsusp_encrypt\n  arch/arm26/Kconfig typos\n  Documentation/IPMI typos\n  Kconfig: Typos in net/sched/Kconfig\n  v9fs: do not include linux/version.h\n  Documentation/DocBook/mtdnand.tmpl: typo fixes\n  typo fixes: specfic -\u003e specific\n  typo fixes in Documentation/networking/pktgen.txt\n  typo fixes: occuring -\u003e occurring\n  typo fixes: infomation -\u003e information\n  typo fixes: disadvantadge -\u003e disadvantage\n  typo fixes: aquire -\u003e acquire\n  typo fixes: mecanism -\u003e mechanism\n  typo fixes: bandwith -\u003e bandwidth\n  fix a typo in the RTC_CLASS help text\n  smb is no longer maintained\n\nManually merged trivial conflict in arch/um/kernel/vmlinux.lds.S\n"
    },
    {
      "commit": "cfa7b0d46964300c849243d1a38a138b870bdc13",
      "tree": "cf3815daffaa442d87f77eae137f41ee1908357a",
      "parents": [
        "7c9fdcfb1b64c47ed618c103b617af3f86e1239c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 30 01:56:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 30 11:25:41 2006 -0700"
      },
      "message": "[PATCH] infiniband: devfs fix\n\nRemove devfs leftovers.\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "358ff019b89aa530ab6c0dd139d8089c932b103f",
      "tree": "ea163e2b5f785fbabd71281cd9fd1683360f909c",
      "parents": [
        "a54a52caad4bd6166cb7fa64e4e93031fa2fda5d"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Wed Jun 28 12:00:25 2006 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Thu Jun 29 11:07:41 2006 -0400"
      },
      "message": "[SCSI] iscsi: convert iser to new set/get param fns\n\nConvert iser to libiscsi get/set param functions.\nFix bugs in it returning old error return values and\nhave it expose exp_statsn.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "179e09172ab663b8587ecc46bb18a56a770304a9",
      "tree": "4d57324584c43f81ac2a6d258bb46e75fb6b4327",
      "parents": [
        "a842ef297fd91b1b93f2aa5898d2efd19e95f6a5"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Mon Jun 26 00:24:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:18 2006 -0700"
      },
      "message": "[PATCH] drivers: use list_move()\n\nThis patch converts the combination of list_del(A) and list_add(A, B) to\nlist_move(A, B) under drivers/.\n\nAcked-by: Corey Minyard \u003cminyard@mvista.com\u003e\nCc: Ben Collins \u003cbcollins@debian.org\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Alasdair Kergon \u003cdm-devel@redhat.com\u003e\nCc: Gerd Knorr \u003ckraxel@bytesex.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Frank Pavlic \u003cfpavlic@de.ibm.com\u003e\nAcked-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Andrew Vasquez \u003clinux-driver@qlogic.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Greg Kroah-Hartman \u003cgreg@kroah.com\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3f1244a2f8d3892f991b662cea49b2a0b4e0c115",
      "tree": "e47aa472b5487d9d1ef8d8177d953d2b128d3ee5",
      "parents": [
        "6461f64ab51e6929680df064b2682004a1548290"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:03:30 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:14 2006 -0700"
      },
      "message": "IB/iser: iSER Kconfig and Makefile\n\nKconfig and Makefile for iSER.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6461f64ab51e6929680df064b2682004a1548290",
      "tree": "52922f1830a6f6ed7fe546db9230a507f91974a7",
      "parents": [
        "1cfa0a75dbef1d5bf687aacafabb023288f6b36a"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:03:08 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:12 2006 -0700"
      },
      "message": "IB/iser: iSER handling of memory for RDMA\n\nThis file contains the processing carried over an SG list associated with\na SCSI command such that it can be registered with the IB verbs. The\nregistration produces a network virtual address (VA) and a remote access\nkey (RKEY or STAG in iSER spec notation) which are used by the target for\nits RDMA operation.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1cfa0a75dbef1d5bf687aacafabb023288f6b36a",
      "tree": "8296842d0f7afb479e1437330d54bd31a0272c95",
      "parents": [
        "e85b24b5e7de9f507c6253183d089370f37618c5"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:02:46 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:11 2006 -0700"
      },
      "message": "IB/iser: iSER RDMA CM (CMA) and IB verbs interaction\n\nThis file contains the low level interaction with the RDMA CM\nand the IB verbs, where iSER is consumer of both.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e85b24b5e7de9f507c6253183d089370f37618c5",
      "tree": "ba56462012733f1a99f95e6a3dc5123abb24407f",
      "parents": [
        "65e7ae7bfc71219f13162b3bbad44e6471cd67f9"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:02:19 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:09 2006 -0700"
      },
      "message": "IB/iser: iSER initiator iSCSI PDU and TX/RX\n\nThis file contains the iSER initiator processing of iSCSI PDUs - controls,\ncommands and data-outs along with processing of TX and RX completions.\nIt interacts with the lower level iser code doing the memory registration\nand and the cma and verbs calls.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "65e7ae7bfc71219f13162b3bbad44e6471cd67f9",
      "tree": "90bb6c39fe78b3ef4ff0949ce7b4fc369523acd7",
      "parents": [
        "49cd5382f629bde2aee9f817cefb271106dc47ee"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:00:44 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:07 2006 -0700"
      },
      "message": "IB/iser: iSCSI iSER transport provider high level code\n\nThis file contains the code that registeres with the iscsi transport manager\nand with the SCSI Mid Layer, where much of the provided functions to iSCSI and\nSCSI are implemented in libiscsi.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "49cd5382f629bde2aee9f817cefb271106dc47ee",
      "tree": "5643cf0424612640475499dbaa77562001f92663",
      "parents": [
        "9b8efc0242777353d5d62bfaa7766ebf0b5598b4"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@voltaire.com",
        "time": "Thu May 11 10:00:21 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jun 22 07:51:05 2006 -0700"
      },
      "message": "IB/iser: iSCSI iSER transport provider header file\n\niSER (iSCSI Extensions for RDMA) transport provider driver for the iSCSI\ninitiator, whose other parts (under drivers/scsi) are scsi_transport_iscsi\n- the transport management module, iscsi_tcp - the TCP transport provider\nmodule and libiscsi - a kernel library (module) implementing functionality\nneeded by both TCP and iSER transports. iSER is both a provider of the iSCSI\ntransport api and a SCSI low level driver.\n\nThis file contains internal data structures and non static service functions.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4c84a39c8adba6bf2f829b217e78bfd61478191a",
      "tree": "0f0f415099cf49d894d65e5120563d30cf1a0fc9",
      "parents": [
        "d0b952a9837f81cd89e756b1b34293fa6e1cb59d",
        "9ead190bfde2a434c74ea604382d08acb2eceef5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 19:01:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 19:01:59 2006 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (46 commits)\n  IB/uverbs: Don\u0027t serialize with ib_uverbs_idr_mutex\n  IB/mthca: Make all device methods truly reentrant\n  IB/mthca: Fix memory leak on modify_qp error paths\n  IB/uverbs: Factor out common idr code\n  IB/uverbs: Don\u0027t decrement usecnt on error paths\n  IB/uverbs: Release lock on error path\n  IB/cm: Use address handle helpers\n  IB/sa: Add ib_init_ah_from_path()\n  IB: Add ib_init_ah_from_wc()\n  IB/ucm: Get rid of duplicate P_Key parameter\n  IB/srp: Factor out common request reset code\n  IB/srp: Support SRP rev. 10 targets\n  [SCSI] srp.h: Add I/O Class values\n  IB/fmr: Use device\u0027s max_map_map_per_fmr attribute in FMR pool.\n  IB/mthca: Fill in max_map_per_fmr device attribute\n  IB/ipath: Add client reregister event generation\n  IB/mthca: Add client reregister event generation\n  IB: Move struct port_info from ipath to \u003crdma/ib_smi.h\u003e\n  IPoIB: Handle client reregister events\n  IB: Add client reregister event type\n  ...\n"
    },
    {
      "commit": "932ff279a43ab7257942cddff2595acd541cc49b",
      "tree": "e60130673a20d71becdac858c2589d8dfbf3ae1f",
      "parents": [
        "bf0857ea32addb6bc8b46383604b218b8ec09f19"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 09 12:20:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:30:14 2006 -0700"
      },
      "message": "[NET]: Add netif_tx_lock\n\nVarious drivers use xmit_lock internally to synchronise with their\ntransmission routines.  They do so without setting xmit_lock_owner.\nThis is fine as long as netpoll is not in use.\n\nWith netpoll it is possible for deadlocks to occur if xmit_lock_owner\nisn\u0027t set.  This is because if a printk occurs while xmit_lock is held\nand xmit_lock_owner is not set can cause netpoll to attempt to take\nxmit_lock recursively.\n\nWhile it is possible to resolve this by getting netpoll to use\ntrylock, it is suboptimal because netpoll\u0027s sole objective is to\nmaximise the chance of getting the printk out on the wire.  So\ndelaying or dropping the message is to be avoided as much as possible.\n\nSo the only alternative is to always set xmit_lock_owner.  The\nfollowing patch does this by introducing the netif_tx_lock family of\nfunctions that take care of setting/unsetting xmit_lock_owner.\n\nI renamed xmit_lock to _xmit_lock to indicate that it should not be\nused directly.  I didn\u0027t provide irq versions of the netif_tx_lock\nfunctions since xmit_lock is meant to be a BH-disabling lock.\n\nThis is pretty much a straight text substitution except for a small\nbug fix in winbond.  It currently uses\nnetif_stop_queue/spin_unlock_wait to stop transmission.  This is\nunsafe as an IRQ can potentially wake up the queue.  So it is safer to\nuse netif_tx_disable.\n\nThe hamradio bits used spin_lock_irq but it is unnecessary as\nxmit_lock must never be taken in an IRQ handler.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "526b4caa0a48382115fa9d8f7d8caf68dbcaa2bf",
      "tree": "82383da15f298a7d42f161e12bea175f55b78dea",
      "parents": [
        "0c0450db31481aa01a04e7faecc93ee6841972d6"
      ],
      "author": {
        "name": "Ishai Rabinovitz",
        "email": "ishai@mellanox.co.il",
        "time": "Sat Jun 17 20:37:38 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:38 2006 -0700"
      },
      "message": "IB/srp: Factor out common request reset code\n\nMisc cleanups in ib_srp:\n1) I think that it is more efficient to move the req entries from req_list\n   to free_list in srp_reconnect_target (rather than rebuild the free_list).\n   (In any case this code is shorter).\n2) This allows us to reuse code in srp_reset_device and srp_reconnect_target\n   and call a new function srp_reset_req.\n\nSigned-off-by: Ishai Rabinovitz \u003cishai@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0c0450db31481aa01a04e7faecc93ee6841972d6",
      "tree": "c7a1ed2896345d022011831f8a9aaa21e8d8ff00",
      "parents": [
        "73c0996b1ca60338fa50e42acfcebd32b7636a8b"
      ],
      "author": {
        "name": "Ramachandra K",
        "email": "rkuchimanchi@silverstorm.com",
        "time": "Sat Jun 17 20:37:38 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:38 2006 -0700"
      },
      "message": "IB/srp: Support SRP rev. 10 targets\n\nThere has been a change in the format of port identifiers between\nrevision 10 of the SRP specification and the current revision 16A.\n\nRevision 10 specifies port identifier format as\n\n  lower 8 bytes :  GUID   upper 8 bytes :  Extension\n\nWhereas revision 16A specifies it as \n\n lower 8 bytes :  Extension  upper 8 bytes :  GUID\n\nThere are older targets (e.g. SilverStorm Virtual Fibre Channel\nBridge) which conform to revision 10 of the SRP specification.\n\nThe I/O class of revision 10 is 0xFF00 and the I/O class of revision\n16A is 0x0100.\n\nFor supporting older targets, this patch:\n\n1) Adds a new optional target creation parameter \"io_class\". Default\n   value of io_class is 0x0100 (i.e. revision 16A)\n2) Uses the correct port identifier format for targets with IO class\n   of 0xFF00 (i.e. conforming to revision 10)\n\nSigned-off-by: Ramachandra K \u003crkuchimanchi@silverstorm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "508e434123b136c96d1bf989e8d4ab0c8d7498b1",
      "tree": "1085714b3d50f6a8706e6ab5fb5ba721cac38209",
      "parents": [
        "63942c9a981ecfa2aabfb27ff1a87b88f2ee9f5b"
      ],
      "author": {
        "name": "Leonid Arsh",
        "email": "leonida@voltaire.com",
        "time": "Sat Jun 17 20:37:36 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:36 2006 -0700"
      },
      "message": "IPoIB: Handle client reregister events\n\nHandle client reregister events by treating them just like LID or\nSM changes -- flush all cached paths and rejoin multicast groups.\n\nSigned-off-by: Leonid Arsh \u003cleonida@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "37c22a77212c13201497378cc8becc5c95d0f3f5",
      "tree": "5a38388266a09c9892e5d8e336d7287ae763e7c0",
      "parents": [
        "31c02e215700c2b704d9441f629ae87bb9aeb561"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@mellanox.co.il",
        "time": "Mon May 29 19:14:05 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:35 2006 -0700"
      },
      "message": "IPoIB: Fix kernel unaligned access on ia64\n\nFix misaligned access faults on ia64: never cast a misaligned\nneighbour-\u003eha + 4 pointer to union ib_gid type; pass a void * pointer\ninstead.  The memcpy was being optimized to use full word accesses\nbecause the compiler thought that union ib_gid is always aligned.\n\nThe cast in IPOIB_GID_ARG is safe, since it is fixed to access each\nbyte separately.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n\n"
    },
    {
      "commit": "31c02e215700c2b704d9441f629ae87bb9aeb561",
      "tree": "057b5e1de62cbecbbe6a0a4532e7eab0fd0313e4",
      "parents": [
        "9874e746550fbd366484621b8838b98589bb2a15"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:34 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:34 2006 -0700"
      },
      "message": "IPoIB: Avoid using stale last_send counter when reaping AHs\n\nThe comparisons of priv-\u003etx_tail to ah-\u003elast_send in ipoib_free_ah()\nand ipoib_post_receive() are slightly unsafe, because priv-\u003etx_lock is\nnot held and hence a stale value of ah-\u003elast_send might be used, which\nwould lead to freeing an AH before the driver was really done with it.\nThe simple way to fix this is to the optimization of early free from\nipoib_free_ah() and unconditionally queue AHs for reaping, and then\ntake priv-\u003etx_lock in __ipoib_reap_ah().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6bfa24fa3e189269e113197a80e12862c211b3d3",
      "tree": "cdd5adcb58ce726708a48636d3b657155000e8cf",
      "parents": [
        "b7ac4ab497e44cba75fb0e9e5afca06776518934"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:33 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:33 2006 -0700"
      },
      "message": "IB/srp: Get rid of \"Target has req_lim 0\" messages\n\nIt\u0027s perfectly valid for a connection to an SRP target to have a\nrequest limit of 0, so get rid of the message about it, which can spam\nkernel logs even with printk_ratelimit().  Keep a count of such events\nin a \"zero_req_lim\" SCSI host attribute instead, so someone who cares\ncan look at the statistics.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b7ac4ab497e44cba75fb0e9e5afca06776518934",
      "tree": "d0d513d83ef71ea7530a3e57ccac41c3684a4fcb",
      "parents": [
        "ac83cbaa9a41344c3adf329ede607e58d887f354"
      ],
      "author": {
        "name": "Ishai Rabinovitz",
        "email": "ishai@mellanox.co.il",
        "time": "Sat Jun 17 20:37:32 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:32 2006 -0700"
      },
      "message": "IB/srp: Handle DREQ events from CM\n\nHandle IB_CM_DREQ_ERROR and IB_CM_DREQ_RECEIVED events from the CM,\ninstead of just printing \"Unhandled CM event\".  In the case of\nDREQ_ERROR, just ignore the event -- a TIMEWAIT_EXIT will be generated\nalso.  For DREQ_RECEIVED, send a DREP in response to shut the\nconnection down cleanly.\n\nSigned-off-by: Ishai Rabinovitz \u003cishai@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "74b0a15b5e18e44206c98419745a472c3d28e561",
      "tree": "9aa9846193df826cc81d2072a0ca56a569ea9668",
      "parents": [
        "52fb2b50c4baa1430064c1e6c1c7df473d469df1"
      ],
      "author": {
        "name": "Vu Pham",
        "email": "vu@mellanox.com",
        "time": "Sat Jun 17 20:37:32 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:32 2006 -0700"
      },
      "message": "IB/srp: Allow sg_tablesize to be adjusted\n\nMake the sg_tablesize used by SRP adjustable at module load time via a\nmodule parameter.  Calculate the corresponding IU length required to\nsupport this.\n\nSigned-off-by: Vu Pham \u003cvu@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "52fb2b50c4baa1430064c1e6c1c7df473d469df1",
      "tree": "7d538c270d6b9064b5674a8fd6f7cf81d8b8580f",
      "parents": [
        "0c5b395239cdea4db3d9c23a5738fdaf3b9ada4c"
      ],
      "author": {
        "name": "Vu Pham",
        "email": "vu@mellanox.com",
        "time": "Sat Jun 17 20:37:31 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:31 2006 -0700"
      },
      "message": "IB/srp: Allow cmd_per_lun to be set per target port\n\nAllow userspace to throttle traffic on a given connection to a target\nport by adding \"max_cmd_per_lun\u003dxyz\" to lower the cmd_per_lun value\nset for that scsi_host.\n\nSigned-off-by: Vu Pham \u003cvu@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0c5b395239cdea4db3d9c23a5738fdaf3b9ada4c",
      "tree": "92262c3a2480603bee7e8b8b405a3a4060433315",
      "parents": [
        "403a496fd4af3036c12e1f9c90a89cf846fadd35"
      ],
      "author": {
        "name": "Ishai Rabinovitz",
        "email": "ishai@mellanox.co.il",
        "time": "Sat Jun 17 20:37:31 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:31 2006 -0700"
      },
      "message": "IB/srp: Clean up loop in srp_remove_one()\n\nInterrupts will always be enabled in srp_remove_one(), so\nspin_lock_irq() can be used instead of spin_lock_irqsave().\nAlso, the loop takes target-\u003escsi_host-\u003ehost_lock, so target-\u003estate\ncan just be set to SRP_TARGET_REMOVED witout testing the old value.\n\nSigned-off-by: Ishai Rabinovitz \u003cishai@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b3589fd49067bab9fe0c60430860e6befbd5ba37",
      "tree": "be054dba4fd5d39e4af03d18e1d57d3b88033ca7",
      "parents": [
        "549c5fc2c8149498118f2494a1b6a4938ca05985"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "message": "IB/srp: Change target_mutex to a spinlock\n\nThe SRP driver never sleeps while holding target_mutex, and it\u0027s just\nused to protect some simple list operations, so hold times will be\nshort.  So just convert it to a spinlock, which is smaller and faster.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "549c5fc2c8149498118f2494a1b6a4938ca05985",
      "tree": "409aff9ba655db4a58d475a7f74f7917d8eca31e",
      "parents": [
        "1962a4a1e4b3716aa836ebeb5b80c804a7f7c5ba"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "message": "IB/srp: Get rid of unneeded use of list_for_each_entry_safe()\n\nlist_for_each_entry_safe() is used in one place where the list isn\u0027t\nmodified.  So just change it to list_for_each_entry().\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1962a4a1e4b3716aa836ebeb5b80c804a7f7c5ba",
      "tree": "f88f56331bdae7d46a16261c1c31ab8731b1ac91",
      "parents": [
        "e9cd59418f049966a690372c4919e98c88bb119b"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:30 2006 -0700"
      },
      "message": "IB/srp: Use SCAN_WILD_CARD from SCSI headers\n\nSCAN_WILD_CARD is indeed available from \u003cscsi/scsi.h\u003e, which is\nalready included.  So get rid of private hack.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f5358a172f79e3f995919224401b25637f4324f6",
      "tree": "52980f6f7707af3fca77958d04e88b9cee3c1a2a",
      "parents": [
        "a26026c1221c3e78e6e9f156994c41fb74e99022"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:29 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Jun 17 20:37:29 2006 -0700"
      },
      "message": "IB/srp: Use FMRs to map gather/scatter lists\n\nCreate an SRP FMR pool on HCAs that support FMRs, and use FMRs to map\ngather/scatter lists that have more than one entry into a single\nmemory region that appears virtually contiguous to the SRP target\n(which is the RDMA initiator).\n\nThis patch bails out on FMR mapping for SCSI commands where the\ngather/scatter list cannot be mapped into a single FMR because there\nare sub-page-sized entries in middle of the list.  An unaligned\nstart or end of the list is OK.\n\nBased on a patch by Vu Pham \u003cvuhuong@mellanox.com\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "959eb39297e8c82f61fbfc283ad4ff11c883bf1e",
      "tree": "7539406ef0c36eb1ba6969fe8aeccd56fab97ea7",
      "parents": [
        "672c6108a51bf559d19595d9f8193dfd81f0f752"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jun 05 09:51:36 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 05 09:51:36 2006 -0700"
      },
      "message": "IPoIB: Fix AH leak at interface down\n\nWhen ipoib_stop() is called it first calls netif_stop_queue() to stop\nthe kernel from passing more packets to the network driver. However,\nthe completion handler may call netif_wake_queue() re-enabling packet\ntransfer.\n\nThis might result in leaks (we see AH leaks which we think can be\nattributed to this bug) as new packets get posted while the interface\nis going down.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "093beac189e4295d968f0d38787b46f76cb0eaaa",
      "tree": "d5d5c476dd06b3ba6a5a7fc4787a3bbdc9d4ba63",
      "parents": [
        "ec2d7208494fe599a5ff13b40a0a20c9881f2737"
      ],
      "author": {
        "name": "Ishai Rabinovitz",
        "email": "ishai@mellanox.co.il",
        "time": "Wed May 17 09:20:48 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 17 09:20:48 2006 -0700"
      },
      "message": "IB/srp: Complete correct SCSI commands on device reset\n\nWhen flushing out queued commands after a successful device reset,\nmake sure that SRP completes the right commands, instead of calling\nscsi_done on the command passed into the device reset handler over and\nover.\n\nSigned-off-by: Ishai Rabinovitz \u003cishai@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ec2d7208494fe599a5ff13b40a0a20c9881f2737",
      "tree": "32af58729f73b18d08fa8759a3408cb4058c6455",
      "parents": [
        "e65810566f3e613d9baa5512b8724ebde42ace0f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 17 09:16:03 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 17 09:16:03 2006 -0700"
      },
      "message": "IB/srp: Get rid of extra scsi_host_put()s if reconnection fails\n\nIf a reconnection attempt fails, then SRP does two scsi_host_put()s.\nThis is a historical relic from an earlier version of the driver that\ntook a reference on the scsi_host before trying to reconnect, so get\nrid of the extra scsi_host_put().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "e65810566f3e613d9baa5512b8724ebde42ace0f",
      "tree": "4d2cb2737f240eff4a54d73fd4f33ced16954526",
      "parents": [
        "1db76c14d215c8b26024dd532de3dcaf66ea30f7"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 17 09:13:21 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 17 09:13:21 2006 -0700"
      },
      "message": "IB/srp: Don\u0027t wait for disconnection if sending DREQ fails\n\nSending a DREQ may fail, for example because the remote target has\nalready broken the connection.  If so, then SRP should not wait for\nthe disconnection to complete, because it never will.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5941d079f2c3bdf0dffed1afb8941678fcd0bcb7",
      "tree": "ba07f5ef258f51e095d0bc3fa77d03321b8866a2",
      "parents": [
        "a3285aa4eecd722508dab01c4932b11b4ba80134"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 09 22:54:59 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 09 22:54:59 2006 -0700"
      },
      "message": "IPoIB: Free child interfaces properly\n\nWhen deleting a child interface with a non-default P_Key via\n/sys/class/net/ibX/delete_child, the interface must be freed with\nfree_netdev() (rather than kfree() on the private data).\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d945e1df28ca07642b3e1a9b9d07074ba5f76be0",
      "tree": "ff392416f1339dd222b9470c24db1ec4defc1bf5",
      "parents": [
        "d8b9f23b23e080d820e3c0aa5ccd7834c26ebf96"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 09 10:50:28 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue May 09 10:50:28 2006 -0700"
      },
      "message": "IB/srp: Fix tracking of pending requests during error handling\n\nIf a SCSI abort completes, or the command completes successfully, then\nthe driver must remove the command from its queue of pending\ncommands.  Similarly, if a device reset succeeds, then all commands\nqueued for the given device must be removed from the queue.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f80887d0b9e1af481dc4a30fc145dfed24ddfd59",
      "tree": "a928a8469193981b7df4df4db8c16baa44da4fd8",
      "parents": [
        "0efd9323f32c137b5cf48bc6582cd08556e7cdfc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 19 11:40:10 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 19 11:40:10 2006 -0700"
      },
      "message": "IB/srp: Remove request from list when SCSI abort succeeds\n\nIf a SCSI abort succeeds, then the aborted request should to be\nremoved from the list of pending requests.  This fixes list corruption\nafter an abort occurs.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f697f74a6b189702474b2fd457e1f9365fa213e3",
      "tree": "2e01abf6b8f324b195c7d72e925b79e9eca9ab1f",
      "parents": [
        "a30bb96c6f5aca6513e4dbd94962da03d14b20a9"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:59 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:59 2006 -0700"
      },
      "message": "IPoIB: Use spin_lock_irq() instead of spin_lock_irqsave()\n\nWe know ipoib_flush_paths() is called from plain process context with\ninterrupts enabled, since it does wait_for_completion().  So there\u0027s\nno need to use spin_lock_irqsave() -- spin_lock_irq() is fine.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a30bb96c6f5aca6513e4dbd94962da03d14b20a9",
      "tree": "7314d0813071b9e1b808422c96e868c26e14245a",
      "parents": [
        "abf45dbb5b256dab439ca3b6b71191ecfddf9cb6"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Apr 05 15:59:34 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:59 2006 -0700"
      },
      "message": "IPoIB: Close race in ipoib_flush_paths()\n\nib_sa_cancel_query() must be called with priv-\u003elock held since\na completion might arrive and set path-\u003equery to NULL.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0f4852513fb07405ce88da40d8c497060561246e",
      "tree": "4221d43a7868b0431d7564601017d8f1449cd13d",
      "parents": [
        "f2de3b06126ddb07d0e4617225d74dce0855add3"
      ],
      "author": {
        "name": "Shirley Ma",
        "email": "xma@us.ibm.com",
        "time": "Mon Apr 10 09:43:58 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:58 2006 -0700"
      },
      "message": "IPoIB: Make send and receive queue sizes tunable\n\nMake IPoIB\u0027s send and receive queue sizes tunable via module\nparameters (\"send_queue_size\" and \"recv_queue_size\").  This allows the\nqueue sizes to be enlarged to fix disastrously bad performance on some\nplatforms and workloads, without bloating memory usage when large\nqueues aren\u0027t needed.\n\nSigned-off-by: Shirley Ma \u003cxma@us.ibm.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f2de3b06126ddb07d0e4617225d74dce0855add3",
      "tree": "21a62b2115804688d700c01ed2ede87413b5d9d1",
      "parents": [
        "bf6a9e31cfa768ce0a8e18474b3ca808641d9243"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Apr 05 14:59:40 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:58 2006 -0700"
      },
      "message": "IPoIB: Wait for join to finish before freeing mcast struct\n\nipoib_mcast_restart_task() might free an mcast object while a join\nrequest is still outstanding, leading to an oops when the query\ncompletes.  Fix this by waiting for query to complete, similar to what\nipoib_stop_thread() is doing.  The wait for mcast completion code is\nconsolidated in wait_for_mcast_join().\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bf6a9e31cfa768ce0a8e18474b3ca808641d9243",
      "tree": "a7ebdb5a10e528959ca1497e222975d3087a5eef",
      "parents": [
        "d2e0655ede1d91c3a586455d03a4a2d57e659830"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@mellanox.co.il",
        "time": "Mon Apr 10 09:43:47 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 10 09:43:47 2006 -0700"
      },
      "message": "IB: simplify static rate encoding\n\nPush translation of static rate to HCA format into low-level drivers,\nwhere it belongs.  For static rate encoding, use encoding of rate\nfield from IB standard PathRecord, with addition of value 0, for\nbackwards compatibility with current usage.  The changes are:\n\n - Add enum ib_rate to midlayer includes.\n - Get rid of static rate translation in IPoIB; just use static rate\n   directly from Path and MulticastGroup records.\n - Update mthca driver to translate absolute static rate into the\n   format used by hardware.  This also fixes mthca\u0027s static rate\n   handling for HCAs that are capable of 4X DDR.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d2e0655ede1d91c3a586455d03a4a2d57e659830",
      "tree": "e507e7c6dee32cb7ea8ebe0fc2024f81cf0f9b0f",
      "parents": [
        "ce1823f0323be9f38bbe0df229a5bba025404923"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Apr 04 19:59:40 2006 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Apr 04 14:46:48 2006 -0700"
      },
      "message": "IPoIB: Consolidate private neighbour data handling\n\nConsolidate IPoIB\u0027s private neighbour data handling into\nipoib_neigh_alloc() and ipoib_neigh_free().  This will make it easier\nto keep track of the neighbour structures that IPoIB is handling, and\nis a nice cleanup of the code:\n\nadd/remove: 2/1 grow/shrink: 1/8 up/down: 100/-178 (-78)\nfunction                                     old     new   delta\nipoib_neigh_alloc                              -      61     +61\nipoib_neigh_free                               -      36     +36\nipoib_mcast_join_finish                     1288    1291      +3\npath_rec_completion                          575     573      -2\nipoib_mcast_join_task                        664     660      -4\nipoib_neigh_destructor                       101      92      -9\nipoib_neigh_setup_dev                         14       3     -11\nipoib_neigh_setup                             17       -     -17\npath_free                                    238     215     -23\nipoib_mcast_free                             329     306     -23\nipoib_mcast_send                             718     684     -34\nneigh_add_path                               705     650     -55\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ce1823f0323be9f38bbe0df229a5bba025404923",
      "tree": "f3c896b952cf01fb81054f65f2861be0e2d4f437",
      "parents": [
        "227c939b00cf786b5e2e95fc904518206f478421"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 03 09:31:04 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Apr 03 09:31:04 2006 -0700"
      },
      "message": "IB/srp: Fix memory leak in options parsing\n\nFix memory leak if parsing destination GID fails.\n\nCoverity bug 1042\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f5545d24b8aa9fccd8071203e83bc9f4b26e17a6",
      "tree": "c58bc4967eb3eff701acba0e9ea295fbc4c68c89",
      "parents": [
        "37289efe3ee0c0a00b5d8302df9a2b007e65c187"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Apr 02 14:39:19 2006 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Apr 02 14:39:19 2006 -0700"
      },
      "message": "IPoIB: Always build debugging code unless CONFIG_EMBEDDED\u003dy\n\nDon\u0027t allow CONFIG_INFINIBAND_IPOIB_DEBUG to be disabled unless\nCONFIG_EMBEDDED is selected.  We want users (and especially distros)\nto have this turned on unless they really need to save space, because\nby the time we want debugging output, it\u0027s usually too late to rebuild\na kernel.  The debugging output can be controlled at runtime via the\ndebug_level module parameter in sysfs.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ef12d4561900d4af37f46a8f2d97dec3c4d59bf9",
      "tree": "29b849109170341a546fbe0bdb52a43741b0341c",
      "parents": [
        "a07bacca7b4032dd361ad5c87b1c39ae229e6739"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 29 09:36:46 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 29 09:36:46 2006 -0800"
      },
      "message": "IPoIB: Fix oops with raw sockets\n\nipoib_hard_header() needs to handle the case that daddr is NULL.  This\ncan happen when packets are injected via a raw socket, and IPoIB\nshouldn\u0027t oops in this case.\n\nReported by Anton Blanchard \u003canton@samba.org\u003e\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3f89f834497c0f37f16a3b6c32b1d60782facbca",
      "tree": "4a27d2b5ed847fd90678d3e7758fe08b493426e1",
      "parents": [
        "e71ac6032edf77a1e4a81f3e3b260807e94b37a5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 29 09:36:45 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 29 09:36:45 2006 -0800"
      },
      "message": "IB/srp: Fix unmapping of fake scatterlist\n\nThe recently merged patch to create a fake scatterlist for non-SG SCSI\ncommands had a bug: the driver ended up doing dma_unmap_sg() on a\nscatterlist scmnd-\u003erequest_buffer rather than the fake scatter list it\ncreated.  Fix this so that the driver unmaps the same thing it maps.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7a343d4c46bc59fe617f968e996ce2fd67c5d179",
      "tree": "bc58caefafd0e1228266a0928f5d70aa5f262cf4",
      "parents": [
        "192daa18dd7bfcaeb092a2ef928135745f2e6883"
      ],
      "author": {
        "name": "Leonid Arsh",
        "email": "leonida@voltaire.com",
        "time": "Thu Mar 23 19:52:51 2006 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 24 15:47:30 2006 -0800"
      },
      "message": "IPoIB: P_Key change event handling\n\nThis patch causes the network interface to respond to P_Key change\nevents correctly.  As a result, you\u0027ll see a child interface in the\n\"RUNNING\" state (netif_carrier_on()) only when the corresponding P_Key\nis configured by the SM.  When SM removes a P_Key, the \"RUNNING\" state\nwill be disabled for the corresponding network interface.  To\nimplement this, I added IB_EVENT_PKEY_CHANGE event handling.  To\nprevent flushing the device before the device is open by the \"delay\nopen\" mechanism, I added an additional device flag called\nIPOIB_FLAG_INITIALIZED.\n\nThis also prevents the child network interface from trying to join to\nmulticast groups until the PKEY is configured.  We used to get error\nmessages like:\n\n    ib0.f2f2: couldn\u0027t attach QP to multicast group ff12:401b:f2f2:0:0:0:ffff:ffff\n\nin this case.  To fix this, I just check IPOIB_FLAG_OPER_UP flag in\nipoib_set_mcast_list().\n\nSigned-off-by: Leonid Arsh \u003cleonida@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4e37b956161c3a3b160972c11c55f07b38b9830c",
      "tree": "d3e18ea58a3375afd2920062ad454b5e3f7371ae",
      "parents": [
        "b0b3a8e1939d18c9bd4caca0b4b859b118a4167e"
      ],
      "author": {
        "name": "Leonid Arsh",
        "email": "leonida@voltaire.com",
        "time": "Wed Mar 22 19:54:24 2006 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 24 15:47:29 2006 -0800"
      },
      "message": "IPoIB: Fix network interface \"RUNNING\" status\n\nWith the current IPoIB driver, the status of network interfaces stays\n\"RUNNING\" even if the link goes down (for example because a cable is\nunplugged).  Fix this by flushing the IPoIB interface when the link\ngoes down.\n\nSigned-off-by: Leonid Arsh \u003cleonida@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cf368713a3f3b2eb737a92d1b7186dedcc51167c",
      "tree": "450791a25611cf98bde1540a3c366d0e2a6ba117",
      "parents": [
        "6f633c8d69415aabbccfcc494008e8e1300a98c1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 24 15:47:26 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 24 15:47:26 2006 -0800"
      },
      "message": "IB/srp: Use a fake scatterlist for non-SG SCSI commands\n\nSince the SCSI midlayer is moving towards entirely getting rid of\ncommands with use_sg \u003d\u003d 0, we should treat this case as an exception.\nTherefore, change the IB SRP initiator to create a fake scatterlist\nfor these commands with sg_init_one().  This simplifies the flow of\nDMA mapping and unmapping, since SRP can just use dma_map_sg() and\ndma_unmap_sg() unconditionally, rather than having to choose between\nthe dma_{map,unmap}_sg() and dma_{map,unmap}_single() variants.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6f633c8d69415aabbccfcc494008e8e1300a98c1",
      "tree": "8c3ad3009e6c4e19b4670c883342a047d511e434",
      "parents": [
        "b2fd16b4ff2508ac16ae994f4bcd941f97754c00"
      ],
      "author": {
        "name": "Leonid Arsh",
        "email": "leonida@voltaire.com",
        "time": "Fri Mar 24 15:47:25 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 24 15:47:25 2006 -0800"
      },
      "message": "IPoIB: Pass correct pointer when flushing child interfaces\n\nipoib_ib_dev_flush() should get passed cpriv-\u003edev, not \u0026cpriv-\u003edev.\n\nSigned-off-by: Leonid Arsh \u003cleonida@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3d1f337b3e7378923c89f37afb573a918ef40be5",
      "tree": "386798378567a10d1c7b24f599cb50f70298694c",
      "parents": [
        "2bf2154c6bb5599e3ec3f73c34861a0b12aa839e",
        "5e35941d990123f155b02d5663e51a24f816b6f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 21 09:31:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 21 09:31:48 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (235 commits)\n  [NETFILTER]: Add H.323 conntrack/NAT helper\n  [TG3]: Don\u0027t mark tg3_test_registers() as returning const.\n  [IPV6]: Cleanups for net/ipv6/addrconf.c (kzalloc, early exit) v2\n  [IPV6]: Nearly complete kzalloc cleanup for net/ipv6\n  [IPV6]: Cleanup of net/ipv6/reassambly.c\n  [BRIDGE]: Remove duplicate const from is_link_local() argument type.\n  [DECNET]: net/decnet/dn_route.c: fix inconsequent NULL checking\n  [TG3]: make drivers/net/tg3.c:tg3_request_irq() static\n  [BRIDGE]: use LLC to send STP\n  [LLC]: llc_mac_hdr_init const arguments\n  [BRIDGE]: allow show/store of group multicast address\n  [BRIDGE]: use llc for receiving STP packets\n  [BRIDGE]: stp timer to jiffies cleanup\n  [BRIDGE]: forwarding remove unneeded preempt and bh diasables\n  [BRIDGE]: netfilter inline cleanup\n  [BRIDGE]: netfilter VLAN macro cleanup\n  [BRIDGE]: netfilter dont use __constant_htons\n  [BRIDGE]: netfilter whitespace\n  [BRIDGE]: optimize frame pass up\n  [BRIDGE]: use kzalloc\n  ...\n"
    },
    {
      "commit": "e35fc385655ac584902edd98dd07ac488e986aa1",
      "tree": "aa50ab6de762a5edc7f699bb77fdb94009995c8d",
      "parents": [
        "dec73ff0293d59076d1fd8f4a264898ecfc457ec"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:46:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:46:40 2006 -0800"
      },
      "message": "[INFINIBAND] ipoib: Remove leftover use of neigh_ops-\u003edestructor\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5ecd62c25400a3c6856e009f84257d5bd03f03b",
      "tree": "a0aeb88552772396bba986cce176028348ec041f",
      "parents": [
        "53dcb0e38c1786aa82ada4641b4607be315b610a"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:25:41 2006 -0800"
      },
      "message": "[NET]: Move destructor from neigh-\u003eops to neigh_params\n\nstruct neigh_ops currently has a destructor field, which no in-kernel\ndrivers outside of infiniband use.  The infiniband/ulp/ipoib in-tree\ndriver stashes some info in the neighbour structure (the results of\nthe second-stage lookup from ARP results to real link-level path), and\nit uses neigh-\u003eops-\u003edestructor to get a callback so it can clean up\nthis extra info when a neighbour is freed.  We\u0027ve run into problems\nwith this: since the destructor is in an ops field that is shared\nbetween neighbours that may belong to different net devices, there\u0027s\nno way to set/clear it safely.\n\nThe following patch moves this field to neigh_parms where it can be\nsafely set, together with its twin neigh_setup.  Two additional\npatches in the patch series update ipoib to use this new interface.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfef73fa78ca1e56175dcbd33aa11de4764f85a5",
      "tree": "4d0021bcdd8e27891f2e1e1caa2b0c97f7c91d1d",
      "parents": [
        "e10e271bfd295bf805dc294460868e1deb938211"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:26 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:26 2006 -0800"
      },
      "message": "IPoIB: Get rid of useless test of queue length\n\nIn neigh_add_path(), the queue of delayed packets can never be full,\nbecause the queue is always freshly created and cannot be found by any\nother code path.  In fact, the test of the queue length is worse than\nuseless: if somehow the test ever triggered and path_rec_start() also\nfailed, then dev_kfree_skb_any() will be called twice on the same skb.\nFix this by deleting the useless test.  Pointed out by Michael\nS. Tsirkin \u003cmst@mellanox.co.il\u003e.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "bf17c1c7cc9250d7c3c01b0ae898aefa1853535a",
      "tree": "95c534eed9c2b188c28681a87690a759c876c30c",
      "parents": [
        "6b63e3015a69dd8aa5534e23af9f132a021da02e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:25 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:25 2006 -0800"
      },
      "message": "IB/srp: Coverity fix to srp_parse_options()\n\nFix leak found by Coverity: in the SRP_OPT_DGID case,\nsrp_parse_options() didn\u0027t free the result of match_strdup().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0b3ea0829cbcdaee6e018a83a2949ef458213f3b",
      "tree": "3e86dc70e4b71b1de1e9ab2df319b014dd242f7c",
      "parents": [
        "8b9ab02b690e988f19c9d740ef642d7d833d23d5"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@mellanox.co.il",
        "time": "Mon Mar 20 10:08:24 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:24 2006 -0800"
      },
      "message": "IPoIB: Move ipoib_ib_dev_flush() to ipoib workqueue\n\nMove ipoib_ib_dev_flush() to ipoib\u0027s workqueue.  This keeps it ordered\nwith respect to other work scheduled by the ipoib driver.  This fixes\nproblems with races, for example:\n - ipoib_ib_dev_flush() has started running because of an IB event\n - user does ifconfig ib0 down\n - ipoib_mcast_stop_thread() gets called twice and waits for the same\n   completion twice\n\nSigned-off-by: Jack Morgenstein \u003cjackm@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8b9ab02b690e988f19c9d740ef642d7d833d23d5",
      "tree": "e72a12094911f4c0c4fe5ed7769be047763bc103",
      "parents": [
        "702b2aaccfbf0fa29c6ffb423a39a7a5573f793a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Tue Mar 07 11:21:08 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:24 2006 -0800"
      },
      "message": "IPoIB: Fix build now that neighbour destructor is in neigh_params\n\nFix the IPoIB build (which is broken in net-2.6.17 because of my\nscrew-up, which left out this chunk in ipoib_multicast.c). \nThe neighbour destructor is now in neigh_params, so we don\u0027t\nneed to clear it in the ops structure.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "6ecb0c849625e830ab96495d473bb704812c30e1",
      "tree": "7f482334cd05121ed96f8c17353f8a6ae73a85f9",
      "parents": [
        "87fd1a11ae91ab42fac978467667c61fee9f01da"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:23 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:23 2006 -0800"
      },
      "message": "IB/srp: Add SCSI host attributes to show target port\n\nAdd SCSI host attributes in sysfs that show the ID extension, IOC\nGUID, service ID, P_Key and destination GID for each target port that\nthe SRP initiator connects to.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9acf6a8570dcfc9f55724b8b71099fc8768e8c26",
      "tree": "5b265bf0474f321722d2690b5b5dc57cde80690e",
      "parents": [
        "54d07e2a1ead2f093ce054cda2e0f5ec163c650c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Thu Mar 02 11:07:47 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:20 2006 -0800"
      },
      "message": "IPoIB: Fix multicast race between canceling and completing\n\nipoib_mcast_stop_thread currently tests mcast-\u003equery and if it is\nNULL, does not perform wait_for_completion on the mcast and frees the\nmcast object directly.\n\nHowever, since both operations are done without locking, it is\npossible that ipoib_mcast_join_complete is in progress on this mcast\nobject and has set mcast-\u003equery to NULL already.\n\nSolve this by:\n- taking priv-\u003elock before we change mcast-\u003equery in ipoib_mcast_join_complete,\n  and keeping it until we no longer need the mcast object\n- taking priv-\u003elock around mcast-\u003equery test in ipoib_mcast_stop_thread\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "54d07e2a1ead2f093ce054cda2e0f5ec163c650c",
      "tree": "0d5d495d25506839bd8bec0c8da092ca8b007202",
      "parents": [
        "8d3ef29d6be1e750512e0a9dbea6225290b81d0a"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Thu Mar 02 11:05:19 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:19 2006 -0800"
      },
      "message": "IPoIB: Clean up if posting receives fails\n\nIf posting receives in ipoib_ib_dev_open() fails, call\nipoib_ib_dev_stop() to move the device\u0027s QP back to the RESET state so\nthat we can try again later.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7343b231f22cec11f069bcdbb0c9a417df2750d3",
      "tree": "3b72ba5f585fcab8271dc4be046b3bd447852847",
      "parents": [
        "1d89b1ae6c203bc68a3f424be144abcdf62773c9"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Feb 27 20:47:43 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:18 2006 -0800"
      },
      "message": "IPoIB: Close race in setting mcast-\u003eah\n\nipoib_mcast_send() tests mcast-\u003eah twice.  If this value is changed\nbetween these two points, we leak an skb.  However,\nipoib_mcast_join_finish() sets mcast-\u003eah with no locking, so it could\nrace against ipoib_mcast_send().\n\nAs a solution, take priv-\u003elock around assignment to mcast-\u003eah thus\nmaking sure ipoib_mcast_send() (which also takes priv-\u003elock) is not in\nflight.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "44af79f9524c29d6850591cc972f2667a27234d4",
      "tree": "8d88bdbd7c3fd015c692792bf1fcd3600ba0c275",
      "parents": [
        "4d9781c5ce1a517a07dbf03c37323c011037fe79"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Mon Feb 20 21:50:39 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Mar 20 10:08:16 2006 -0800"
      },
      "message": "IPoIB: clarify to_ipoib_neigh()\n\nCosmetic change: make alignment explicit in to_ipoib_neigh.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1285b3a0b0aa2391ac6f6939e6737203c8220f68",
      "tree": "b0041f55811fcda35614e6c04cb67e251d05a51f",
      "parents": [
        "c499ec24c31edf270e777a868ffd0daddcfe7ebd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 03 15:47:25 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Mar 03 17:50:16 2006 -0800"
      },
      "message": "IB/srp: Don\u0027t send task management commands after target removal\n\nJust fail abort and reset requests that come in after we\u0027ve already\ndecided to remove a target.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "20b83382d1c5d4d1a73fc5671261db5239d1dbb3",
      "tree": "331685789ab2d86b1e126b0eb7c997642150d5d8",
      "parents": [
        "f295c79b6766b25fe8c1aad88211c54d1caa7e0b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Feb 11 12:22:12 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Feb 11 12:22:12 2006 -0800"
      },
      "message": "IPoIB: Yet another fix for send-only joins\n\nEven after the last fix, it\u0027s still possible for a send-only join to\nstart before the join for the broadcast group has finished.  This\ncould cause us to create a multicast group using attributes from the\nbroadcast group that haven\u0027t been initialized yet, so we would use\ngarbage for the Q_Key, etc.  Fix this by waiting until the broadcast\ngroup\u0027s attached flag is set before starting send-only joins.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7bcb974ef6a0ae903888272c92c66ea779388c01",
      "tree": "926245a2e120dd5884f3bab92020612fcfbd78bf",
      "parents": [
        "479a079663bd4c5f3d2714643b1b8c406aaba3e0"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Feb 07 16:39:26 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Feb 07 16:39:26 2006 -0800"
      },
      "message": "IPoIB: Fix another send-only join race\n\nFurther, there\u0027s an additional issue that I saw in testing:\nipoib_mcast_send may get called when priv-\u003ebroadcast is NULL (e.g. if\nthe device was downed and then upped internally because of a port\nevent).\n\nIf this happends and the send-only join request gets completed before\npriv-\u003ebroadcast is set, we get an oops.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "479a079663bd4c5f3d2714643b1b8c406aaba3e0",
      "tree": "e484f9a2dce6ee68f1c328d54f18acbf137c1999",
      "parents": [
        "8cf3f04f45694db0699f608c0e3fb550c607cc88"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Feb 07 16:37:08 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Feb 07 16:37:08 2006 -0800"
      },
      "message": "IPoIB: Don\u0027t start send-only joins while multicast thread is stopped\n\nFix the following race scenario:\n  - Device is up.\n  - Port event or set mcast list triggers ipoib_mcast_stop_thread,\n    this cancels the query and waits on mcast \"done\" completion.\n  - Completion is called and \"done\" is set.\n  - Meanwhile, ipoib_mcast_send arrives and starts a new query,\n    re-initializing \"done\".\n\nFix this by adding a \"multicast started\" bit and checking it before\nstarting a send-only join.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "8e9e5f4f5eb1d44ddabfd1ddea4ca4e4244a9ffb",
      "tree": "b2f64b85be17ddb169355defe05f9dbf5c97d548",
      "parents": [
        "cbd2981a97cb628431a987a8abd1731c74bcc32e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 30 15:21:21 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jan 30 15:21:21 2006 -0800"
      },
      "message": "IB/srp: Semaphore to mutex conversion\n\nConvert srp_host-\u003etarget_mutex from a semaphore to a mutex.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b36f170b617a7cd147b694dabf504e856a50ee9d",
      "tree": "538606cc821b415447d5db710d76ef2272a75934",
      "parents": [
        "0f47ae0b3ec35dc5f4723f2e0ad0f6f3f55e9bcd"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Jan 17 12:19:40 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 17 12:19:40 2006 -0800"
      },
      "message": "IPoIB: Lock accesses to multicast packet queues\n\nAvoid corrupting mcast-\u003epkt_queue by serializing access with\npriv-\u003etx_lock.  Also, update dropped packet statistics to count\nmulticast packets removed from pkt_queue as dropped.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "47f7a0714b67b904a3a36e2f2d85904e8064219b",
      "tree": "8ddea2cb121a8a5f5b0802d1fbb81a7d3d61cd08",
      "parents": [
        "2664b25051f7ab96b22b199aa2f5ef6a949a4296"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Jan 17 09:22:05 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 17 09:22:05 2006 -0800"
      },
      "message": "IPoIB: Make sure path is fully initialized before using it\n\nThe SA path record query completion can initialize path-\u003epathrec.dlid\nbefore IPoIB\u0027s callback runs and initializes path-\u003eah, so we must test\nah rather than dlid.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "95ed644fd12f53c6fc778f3f246974e5fe3a9468",
      "tree": "edf9f57192ad95f9165b3be5dbf1e8e745249ed1",
      "parents": [
        "9eacee2ac624bfa9740d49355dbe6ee88d0cba0a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 13 14:51:39 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jan 13 14:51:39 2006 -0800"
      },
      "message": "IB: convert from semaphores to mutexes\n\nsemaphore to mutex conversion by Ingo and Arjan\u0027s script.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n[ Sanity-checked on real IB hardware ]\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "988bd50300ef2e2d5cb8563e2ac99453dd9acd86",
      "tree": "2ffc52fb4b88a8c9299306880d07062947ce3b32",
      "parents": [
        "78bfe0b5b67fe126ed98608e42e42fb6ed9aabd4"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Thu Jan 12 14:32:20 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Jan 12 14:32:20 2006 -0800"
      },
      "message": "IPoIB: Fix memory leak of multicast group structures\n\nThe current handling of multicast groups in IPoIB ends up never\nfreeing send-only multicast groups.  It turns out the logic was much\nmore complicated than it needed to be; we can fix this bug and\ncompletely kill ipoib_mcast_dev_down() at the same time.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "78bfe0b5b67fe126ed98608e42e42fb6ed9aabd4",
      "tree": "ec595bf181906edbff10b93170b4b814fab60ad7",
      "parents": [
        "97460df37ea3335ca11562568932c9f9facfecdb"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Wed Jan 11 11:47:34 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jan 11 11:47:34 2006 -0800"
      },
      "message": "IPoIB: Take dev-\u003exmit_lock around mc_list accesses\n\ndev-\u003emc_list accesses must be protected by dev-\u003exmit_lock.\nFound by Eli Cohen \u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "97460df37ea3335ca11562568932c9f9facfecdb",
      "tree": "19955a4fe4dbead6f4ef2af9d47cdd1c0eb9339a",
      "parents": [
        "70b4c8cdc168bb5d18e23fd205c4ede1b756a8b2"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Tue Jan 10 07:43:02 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 10 07:43:02 2006 -0800"
      },
      "message": "IPoIB: Fix address handle refcounting for multicast groups\n\nMultiple ipoib_neigh structures on mcast-\u003eneigh_list may point to the\nsame ah.  This means that ipoib_mcast_free() can\u0027t just make a list of\nah structs to free, since this might end up trying to add the same ah\nto the list more than once.  Handle this in ipoib_multicast.c in the\nsame way as it is handled in ipoib_main.c for struct ipoib_path.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "70b4c8cdc168bb5d18e23fd205c4ede1b756a8b2",
      "tree": "029d149d2b25eae3b8ecf4dfa62e0b3c47c7db02",
      "parents": [
        "cf311cd49a78f1e431787068cc31d29d06a415e6"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Tue Jan 10 07:42:14 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 10 07:42:14 2006 -0800"
      },
      "message": "IPoIB: Fix error path in ipoib_mcast_dev_flush()\n\nDon\u0027t leak memory on allocation failure for broadcast mcast group.\nAlso, print a warning to match handling for other mcast groups.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cf311cd49a78f1e431787068cc31d29d06a415e6",
      "tree": "369bb01420f5120df73c12903eb9e7783b8489ad",
      "parents": [
        "87635b71b544563f29050a9cecaa12b5d2a3e34a"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Tue Jan 10 07:39:34 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Jan 10 07:39:34 2006 -0800"
      },
      "message": "IB: Add node_guid to struct ib_device\n\nAdd a node_guid field to struct ib_device.  It is the responsibility\nof the low-level driver to initialize this field before registering a\ndevice with the midlayer.  Convert everyone to looking at this field\ninstead of calling ib_query_device() when all they want is the node\nGUID, and remove the node_guid field from struct ib_device_attr.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "de25968cc87cc5b76d09de8b4cbddc8f24fcf5f7",
      "tree": "1435a31f422039999b728ab326145a2bd5912d4e",
      "parents": [
        "03a285f58064b8e0af08383e082e383753d9c33e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Sun Jan 08 01:02:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:13:45 2006 -0800"
      },
      "message": "[PATCH] fix more missing includes\n\nInclude fixes for 2.6.14-git11.  Should allow to remove sched.h from\nmodule.h on i386, x86_64, arm, ia64, ppc, ppc64, and s390.  Probably more\nto come since I haven\u0027t yet checked the other archs.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "267ee88ed34c76dc527eeb3d95f9f9558ac99973",
      "tree": "1f53cd0db55372192cc088788dadbed102845a17",
      "parents": [
        "4f71055a45a503273c039d80db8ba9b13cb17549"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:55:58 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:55:58 2005 -0800"
      },
      "message": "IPoIB: fix error handling in ipoib_open\n\nIf ipoib_ib_dev_up() fails after ipoib_ib_dev_open() is called, then\nipoib_ib_dev_stop() needs to be called to clean up.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4f71055a45a503273c039d80db8ba9b13cb17549",
      "tree": "bb4b6f10197addff1af91368f916904eb4404edf",
      "parents": [
        "2e86541ec878de9ec5771600a77f451a80bebfc4"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Nov 29 10:53:30 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:53:30 2005 -0800"
      },
      "message": "IPoIB: protect child list in ipoib_ib_dev_flush\n\nrace condition: ipoib_ib_dev_flush is accessing child list without locks.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2e86541ec878de9ec5771600a77f451a80bebfc4",
      "tree": "e58f418dd8e64675b1dbaa6db92d7c1e606d1506",
      "parents": [
        "de922487890936470660e89f9095aee980637989"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:25:23 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:25:23 2005 -0800"
      },
      "message": "IPoIB: don\u0027t zero members after we allocate with kzalloc\n\nipoib_mcast_alloc() uses kzalloc(), so there\u0027s no need to zero out\nmembers of the mcast struct after it\u0027s allocated.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "de922487890936470660e89f9095aee980637989",
      "tree": "bbb88a18ee78fa43c0f887c138011a055a9c8045",
      "parents": [
        "5872a9fc28e6cd3a4e51479a50970d19a01573b3"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@mellanox.co.il",
        "time": "Tue Nov 29 10:18:45 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:18:45 2005 -0800"
      },
      "message": "IPoIB: reinitialize mcast structs\u0027 completions for every query\n\nMake sure mcast-\u003edone is initialized to uncompleted value before we\nsubmit a new query, so that it\u0027s safe to wait on.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5872a9fc28e6cd3a4e51479a50970d19a01573b3",
      "tree": "993e77f7c00b7bc296e96f0cec1c98ea28a0436a",
      "parents": [
        "65c7eddaba33995e013ef3c04718f6dc8fdf2335"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:13:54 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 29 10:13:54 2005 -0800"
      },
      "message": "IPoIB: always set path-\u003equery to NULL when query finishes\n\nAlways set path-\u003equery to NULL when the SA path record query\ncompletes, rather than only when we don\u0027t have an address handle.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "65c7eddaba33995e013ef3c04718f6dc8fdf2335",
      "tree": "5f96a0797d23e7cee4f2a6c4770bacadee31a261",
      "parents": [
        "bf6d9e23a36c8a01bf6fbb945387d8ca3870ff71"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Nov 28 21:20:34 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Nov 28 21:20:34 2005 -0800"
      },
      "message": "IPoIB: reinitialize path struct\u0027s completion for every query\n\nIt\u0027s possible that IPoIB will issue multiple SA queries for the same\npath struct.  Therefore the struct\u0027s completion needs to be\ninitialized for each query rather than only once when the struct is\nallocated, or else we might not wait long enough for later queries to\nfinish and free the path struct too soon.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "47f2bce9021b4974ed33b072ebb8348c8145c946",
      "tree": "2d17f2cdc77646d07cb2a598e3d2bcbdf94675ad",
      "parents": [
        "5f068992a1bccda5574b4f6d33458ef806686d7f"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 15 00:19:21 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Nov 15 00:19:21 2005 -0800"
      },
      "message": "[IB] srp: don\u0027t post receive if no send buf available\n\nHave __srp_get_tx_iu() fail if the target port\u0027s request limit will\nnot allow the initiator to post a send.  This avoids continuing on and\nposting a receive, and then failing to post a corresponding send.  If\nthat happens, then the initiator will end up with an extra receive\nposted, and if this happens to much, the receive queue will overflow.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5f068992a1bccda5574b4f6d33458ef806686d7f",
      "tree": "a5f8266c59f39f0a1f3dc3d71a00da7276ac1a80",
      "parents": [
        "78b9c0f91cf908616b8f9f356e1d1220e727ea88"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 11 14:06:01 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 11 14:06:01 2005 -0800"
      },
      "message": "[IB] srp: increase max_luns\n\nIncrease SRP max_luns to 512 to match the kernel\u0027s default, since SRP\nstorage targets can have lots of LUNs and the SRP initiator itself\ndoesn\u0027t have any particular limit.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "78b9c0f91cf908616b8f9f356e1d1220e727ea88",
      "tree": "84a581820bff0fa9830f18138da02d929e4edcb9",
      "parents": [
        "6b482c6779daaa893b277fc9b70767a7c2e7c5eb",
        "94382f3562e350ed7c8f7dcd6fc968bdece31328"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 10 13:27:06 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Nov 10 13:27:06 2005 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n"
    },
    {
      "commit": "8c608a32e3cd7ff14498ad996ca32d1452245a97",
      "tree": "f96eacca4c5259be3981190bd6d3297afee6fd8c",
      "parents": [
        "2f76e82947b977a1008cfd2868351a701c93c69c"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Nov 07 10:49:38 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 10 10:22:50 2005 -0800"
      },
      "message": "[IPoIB] no need to set skb-\u003edev right before freeing skb\n\nFor cut-and-paste reasons, the IPoIB driver was setting skb-\u003edev right\nbefore calling dev_kfree_skb_any().  Get rid of this.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1732b0ef3b3a02e3df328086fb3018741c5476da",
      "tree": "380f460367321984ab7c7dcd72c37257d95de9a0",
      "parents": [
        "8b37b94721533f2729c79bcb6fa0bb3e2bc2f400"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Nov 07 10:33:11 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 10 10:22:49 2005 -0800"
      },
      "message": "[IPoIB] add path record information in debugfs\n\nAdd ibX_path files to debugfs that contain information about the IPoIB\npath cache.  IPoIB ARP only gives GIDs, which the IPoIB driver must\nresolve to real IB paths through the ib_sa module.  For debugging,\nwhen the ARP table looks OK but traffic isn\u0027t flowing, it\u0027s useful to\nbe able to see if the resolution from GID to path worked.\n\nAlso clean up the formatting of the existing _mcg debugfs files.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "733482e445ca4450cf41381b1c95e2b8c7145114",
      "tree": "d31a2fdaeb8e439fc348a781c780a035d794266d",
      "parents": [
        "c1a0f5e3c01d28b6782457bee5ae5ace3a9958ec"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Tue Nov 08 21:34:55 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 09 07:55:57 2005 -0800"
      },
      "message": "[PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason\n\nThis patch removes almost all inclusions of linux/version.h.  The 3\n#defines are unused in most of the touched files.\n\nA few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is\nunfortunatly in linux/version.h.\n\nThere are also lots of #ifdef for long obsolete kernels, this was not\ntouched.  In a few places, the linux/version.h include was move to where\nthe LINUX_VERSION_CODE was used.\n\nquilt vi `find * -type f -name \"*.[ch]\"|xargs grep -El \u0027(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)\u0027|grep -Ev \u0027(/(boot|coda|drm)/|~$)\u0027`\n\nsearch pattern:\n/UTS_RELEASE\\|LINUX_VERSION_CODE\\|KERNEL_VERSION\\|linux\\/\\(utsname\\|version\\).h\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "127f2fa31ac624c744f3767363c4919209980956",
      "tree": "972b7ffbcd2c846bbb34879efb91e324dc0677be",
      "parents": [
        "ba77df570c6710c9c19b31e0e48e4bcdf31cefe8",
        "aef9ec39c47f0cece886ddd6b53c440321e0b2a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 04 16:32:36 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 04 16:32:36 2005 -0800"
      },
      "message": "Merge branch \u0027srp\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband\n"
    },
    {
      "commit": "8ae5a8a24f7fe797027d481f88c1464b0e47eede",
      "tree": "389cecdfb0769cdddd0e901c1d60b9549b0a6322",
      "parents": [
        "21a384897d48c116b879924c3dd9e96f6f1e764b"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 20:51:01 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 20:51:01 2005 -0800"
      },
      "message": "[IPoIB] don\u0027t compile debug code if debugging isn\u0027t enabled\n\nDon\u0027t build ipoib_mcast_iter_ functions if CONFIG_INFINIBAND_IPOIB_DEBUG\nis not enabled -- their only callers will not be built either.\n\nAlso move the prototype for ipoib_open() to ipoib.h to fix a sparse warning.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "aef9ec39c47f0cece886ddd6b53c440321e0b2a6",
      "tree": "d9a0f0fb69ef336bec4317ef5f95adc8c062e445",
      "parents": [
        "89fbb69c4f285019ba5e029963dc11cc6beb078a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 14:07:13 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 14:07:13 2005 -0800"
      },
      "message": "IB: Add SCSI RDMA Protocol (SRP) initiator\n\nAdd an InfiniBand SCSI RDMA Protocol (SRP) initiator.  This driver is\nused to talk talk to InfiniBand SRP targets (storage devices).\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "21a384897d48c116b879924c3dd9e96f6f1e764b",
      "tree": "3179960b8e0f3ccb4feff19eb5582298d48324a0",
      "parents": [
        "de6eb66b56d9df5ce6bd254994f05e065214e8cd"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 10:07:59 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 10:07:59 2005 -0800"
      },
      "message": "[IPoIB] remove unneeded initializations to 0\n\nShrink our source and .text a little by removing a few assignments of\nNULL and 0 to memory that is already cleared as part of the allocation.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "de6eb66b56d9df5ce6bd254994f05e065214e8cd",
      "tree": "7463446a05b5e9a5d2fc400da0be8d4a6c2ff6f1",
      "parents": [
        "7b28b0d000eeb62d77add636f5d6eb0da04e48aa"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 07:23:14 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Nov 02 07:23:14 2005 -0800"
      },
      "message": "[IB] kzalloc() conversions\n\nReplace kmalloc()+memset(,0,) with kzalloc(), for a net savings of 35\nsource lines and about 500 bytes of text.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "3bc12e75b23c0499cc2c0873a5f77494be173761",
      "tree": "ecb02f68e1055343bb45fc38350a8e33c827efc9",
      "parents": [
        "e5b251a24a9cd34a7ef98e361eb94e7ab122a554"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Oct 30 13:20:09 2005 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 31 07:10:33 2005 -0800"
      },
      "message": "[IPoIB] cleanups: fix comment, remove useless variables\n\nMinor cleanups: fix a misleading comment, and get rid of attr_mask\nvariables that are only used to hold constants (just use the constants\ndirectly).\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a20583a7c2e35d80b1dfc1f60c9729498838725e",
      "tree": "e7fbd856e7522b65d309e9dfd425541d8f45a0bd",
      "parents": [
        "affcd50546d4788b7849e2b2e2ec7bc50d64c5f8"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Oct 29 13:54:40 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Oct 29 13:54:40 2005 -0700"
      },
      "message": "[IPoIB] use spin_trylock_irqsave()\n\nUse spin_trylock_irqsave() in ipoib_start_xmit() instead of\nreinventing it out of local_irq_save(), spin_trylock() and\nlocal_irq_restore().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1993d683f39f77ddb46a662d7146247877d50b8f",
      "tree": "608391d9daa25e13b70cc11d6b99f800a7079050",
      "parents": [
        "cb0f0910f4b41772a6771bdb4fb2d419b27bcd77"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 28 15:30:34 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 28 15:30:34 2005 -0700"
      },
      "message": "[IPoIB] Drop RX packets when out of memory\n\nChange the way IPoIB handles RX packets when it can\u0027t allocate a new\nreceive skbuff.  If the allocation of a new receive skb fails, we now\ndrop the packet we just received and repost the original receive skb.\nThis means that the receive ring always stays full and we don\u0027t have\nto monkey around with trying to schedule a refill task for later.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "4b2d319b53810ab00ef3d8fdfc1c1ab0647ab0a7",
      "tree": "e54ac6da33e561bb38cf31d2d1ba43b913983cab",
      "parents": [
        "762a03e21ed08daa5170d9cd98e83539861e7692"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 18 12:20:06 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 18 12:20:06 2005 -0700"
      },
      "message": "[IPoIB] Improve ipoib_timeout() output\n\nUse jiffies_to_msecs() so we print a human-readable time so\nwe don\u0027t have to worry about what HZ is configured to, and\nprint out a few values to make post-mortem analysis easier.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5b6810e048435de508ef66aebd6b78db13d651b8",
      "tree": "b54df96d5821a6ed41d778bf1ecfb54dbc7a4999",
      "parents": [
        "efaae8f71f3088cc73c9e5ceabbd314aa82ac768"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 11 11:08:24 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 17 15:20:29 2005 -0700"
      },
      "message": "[IPoIB] Rename ipoib_create_qp() -\u003e ipoib_init_qp() and fix error cleanup\n\nipoib_create_qp() no longer creates IPoIB\u0027s QP, so it shouldn\u0027t\ndestroy the QP on failure -- that unwinding happens elsewhere, so the\ncurrent code can cause a double free.  While we\u0027re at it, the\nfunction\u0027s name should match what it actually does, so rename it to\nipoib_init_qp().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d70ed6075f15bdbb0548d162394bf10332769c88",
      "tree": "f34b72480922d614a3210898b1bb990b61b91e40",
      "parents": [
        "a1c337afaf4ec4d4eabc75a5e1170d03161de4e1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Sep 28 19:56:57 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Sep 28 19:56:57 2005 -0700"
      },
      "message": "[IPoIB] Rename IPoIB\u0027s path_lookup() to avoid name clashes\n\nRename IPoIB driver\u0027s path_lookup() to ipoib_path_lookup() to avoid a\nclashes with the kernel global path_lookup().  We don\u0027t hit this with\nthe current kernel source, but some external patches seem to trigger\nthis, and it\u0027s cleaner to avoid clashing with global names anyway.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nrefs/heads/for-linus\n"
    },
    {
      "commit": "8d2cae0651502028bf64844508ab18528bbd65c2",
      "tree": "6e166a94e5f581c683d2b29e792665082b21afd5",
      "parents": [
        "eff4c654b1a4a5e5493fbdc3affa6dd48765c085"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Sep 20 10:52:04 2005 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Sep 20 10:52:04 2005 -0700"
      },
      "message": "[PATCH] IPoIB: Don\u0027t flush workqueue from within workqueue\n\nipoib_mcast_restart_task() is always called from within the\nsingle-threaded IPoIB workqueue, so flushing the workqueue from within\nthe function can lead to a recursion overflow.  But since we\u0027re\nrunning in a single-threaded workqueue, we\u0027re already synchronized\nagainst other items in the workqueue, so just get rid of the flush in\nipoib_mcast_restart_task().\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "ce5b65cc9626feac0d4ffb96f798407e50c45575"
}
