)]}'
{
  "log": [
    {
      "commit": "20952cdd8e79945245be29f8f5ecac5abc99b4ae",
      "tree": "6203c5a3c47f41ad79979810fc1aab6f74e13b62",
      "parents": [
        "71b43fd573a60972b2175df4927c4ee10d757004",
        "fc2d004419abebcfd740f46c32dd8201ce1b33c9",
        "7ad5e449b96bd82f406ed4657a64c8f72a48896d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jun 06 10:08:11 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jun 06 10:08:11 2012 -0700"
      },
      "message": "Merge branches \u0027cxgb4\u0027, \u0027mlx4\u0027 and \u0027ocrdma\u0027 into for-linus\n"
    },
    {
      "commit": "fc2d004419abebcfd740f46c32dd8201ce1b33c9",
      "tree": "975ff9ce5051b607382b49917f033cfc7c5e9c7f",
      "parents": [
        "edc4a67e15e34d2b3a2ab968625fd157751125d8"
      ],
      "author": {
        "name": "Sagi Grimberg",
        "email": "sagig@mellanox.co.il",
        "time": "Thu May 24 16:08:08 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jun 06 10:08:03 2012 -0700"
      },
      "message": "IB/mlx4: Fix max_wqe capacity reported from query device\n\n1. Limit the max number of WQEs per QP reported when querying the\n   device, so that ib_create_qp() will not fail for a QP size that the\n   device claimed to support due to additional headroom WQEs being\n   allocated.\n\n2. Limit qp resources accepted for ib_create_qp() to the limits\n   reported in ib_query_device().  In kernel space, make sure that the\n   limits returned to the caller following qp creation also lie within\n   the reported device limits. For userspace, report as before, and do\n   adjustment in libmlx4 (so as not to break ABI).\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Sagi Grimberg \u003csagig@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3aac6ff16a2097be668975fd51084df2e27e4999",
      "tree": "9802c1555e813a8f2d8fe1cf5757a94c35e4d8ee",
      "parents": [
        "c23ddf7857bdb2e8001b0a058603497c765a580d"
      ],
      "author": {
        "name": "Shlomo Pongratz",
        "email": "shlomop@mellanox.com",
        "time": "Thu May 24 16:08:07 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Jun 03 23:02:16 2012 -0700"
      },
      "message": "IB/mlx4: Fix EQ deallocation in legacy mode\n\nCommit e605b743f33d (\"IB/mlx4: Increase the number of vectors (EQs)\navailable for ULPs\") didn\u0027t handle correctly the case where there\naren\u0027t enough MSI-X vectors to increase the number of EQs, so only the\nlegacy EQs are allocated.  This results in an attempt to memset() to\nzero the EQ table which was never allocated and a kernel crash.\n\nFix this by checking in the teardown flow if the table of EQs was ever\nallocated.  Also remove some unneeded setting to zero of the EQ\nrelated fields in struct mlx4_ib_dev.\n\nSigned-off-by: Shlomo Pongratz \u003cshlomop@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "71b43fd573a60972b2175df4927c4ee10d757004",
      "tree": "405a41b627653697587b2286b362d40fad3e55d2",
      "parents": [
        "c23ddf7857bdb2e8001b0a058603497c765a580d"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@linux.vnet.ibm.com",
        "time": "Thu May 17 17:51:53 2012 -0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Jun 03 22:59:15 2012 -0700"
      },
      "message": "RDMA/cxgb4: Fix crash when peer address is 0.0.0.0\n\nWhen using rping -c -a 0.0.0.0 with iw_cxgb4, the system crashes when\nrdma_connect() is called.  ip_dev_find() will return NULL, but pdev is\naccessed anyway.\n\nChecking that pdev is NULL and returning -ENODEV prevents the system\nfrom crashing.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nAcked-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7ad5e449b96bd82f406ed4657a64c8f72a48896d",
      "tree": "a2f6cb0374153669acc6c6961c71bf208f0d6a67",
      "parents": [
        "804eaf29bac4148aa265bedc62182ed41a4c6120"
      ],
      "author": {
        "name": "Devendra Naga",
        "email": "devendra.aaru@gmail.com",
        "time": "Tue May 29 12:51:47 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 29 12:53:11 2012 -0700"
      },
      "message": "RDMA/ocrdma: Remove unnecessary version.h includes\n\n\"make versioncheck\" shows:\n\n    drivers/infiniband/hw/ocrdma/ocrdma_main.c: 29 linux/version.h not needed.\n    drivers/infiniband/hw/ocrdma/ocrdma_verbs.h: 31 linux/version.h not needed.\n\nSigned-off-by: Devendra Naga \u003cdevendra.aaru@gmail.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "804eaf29bac4148aa265bedc62182ed41a4c6120",
      "tree": "7566e99a3ad9bc668482dca04456fb3b33032502",
      "parents": [
        "cd4fedf9cfe2d453148dce0f105a41725e5107a3"
      ],
      "author": {
        "name": "Parav Pandit",
        "email": "parav.pandit@emulex.com",
        "time": "Wed May 23 21:11:17 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 29 12:52:00 2012 -0700"
      },
      "message": "RDMA/ocrdma: Fix signaled event for SRQ_LIMIT_REACHED\n\nSigned-off-by: Parav Pandit \u003cparav.pandit@emulex.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "cd4fedf9cfe2d453148dce0f105a41725e5107a3",
      "tree": "4564eb25bb7870a1cc00317b030edae84143ed65",
      "parents": [
        "c23ddf7857bdb2e8001b0a058603497c765a580d"
      ],
      "author": {
        "name": "Parav Pandit",
        "email": "parav.pandit@emulex.com",
        "time": "Wed May 23 21:02:07 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 29 12:49:36 2012 -0700"
      },
      "message": "RDMA/ocrdma: Correct queue free count math\n\nCorrect queue free count math for SQ, RQ for all hardware type.\nUpdate user-kernel ABI interface.\n\nSigned-off-by: Parav Pandit \u003cparav.pandit@emulex.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c23ddf7857bdb2e8001b0a058603497c765a580d",
      "tree": "f1d826612114a17d6ab543b7095adf04b5ba614a",
      "parents": [
        "da4f58ffa08a7b7012fab9c205fa0f6ba40fec42",
        "cc169165c82e14ea43e313f937a0a475ca97e588"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:54:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:54:55 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes from Roland Dreier:\n - Add ocrdma hardware driver for Emulex IB-over-Ethernet adapters\n - Add generic and mlx4 support for \"raw\" QPs: allow suitably privileged\n   applications to send and receive arbitrary packets directly to/from\n   the hardware\n - Add \"doorbell drop\" handling to the cxgb4 driver\n - A fairly large batch of qib hardware driver changes\n - A few fixes for lockdep-detected issues\n - A few other miscellaneous fixes and cleanups\n\nFix up trivial conflict in drivers/net/ethernet/emulex/benet/be.h.\n\n* tag \u0027rdma-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (53 commits)\n  RDMA/cxgb4: Include vmalloc.h for vmalloc and vfree\n  IB/mlx4: Fix mlx4_ib_add() error flow\n  IB/core: Fix IB_SA_COMP_MASK macro\n  IB/iser: Fix error flow in iser ep connection establishment\n  IB/mlx4: Increase the number of vectors (EQs) available for ULPs\n  RDMA/cxgb4: Add query_qp support\n  RDMA/cxgb4: Remove kfifo usage\n  RDMA/cxgb4: Use vmalloc() for debugfs QP dump\n  RDMA/cxgb4: DB Drop Recovery for RDMA and LLD queues\n  RDMA/cxgb4: Disable interrupts in c4iw_ev_dispatch()\n  RDMA/cxgb4: Add DB Overflow Avoidance\n  RDMA/cxgb4: Add debugfs RDMA memory stats\n  cxgb4: DB Drop Recovery for RDMA and LLD queues\n  cxgb4: Common platform specific changes for DB Drop Recovery\n  cxgb4: Detect DB FULL events and notify RDMA ULD\n  RDMA/cxgb4: Drop peer_abort when no endpoint found\n  RDMA/cxgb4: Always wake up waiters in c4iw_peer_abort_intr()\n  mlx4_core: Change bitmap allocator to work in round-robin fashion\n  RDMA/nes: Don\u0027t call event handler if pointer is NULL\n  RDMA/nes: Fix for the ORD value of the connecting peer\n  ...\n"
    },
    {
      "commit": "c9bfa7d75ba7269c97595f03c3152372e8b37823",
      "tree": "18ff08a09721a21fda585c716574344220a50518",
      "parents": [
        "f4c16c581766a230c02bec4d513b09fe36264ae2",
        "f80e8ed3951455272c12693e35b259be8eb60b30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:37:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:37:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull scsi-target changes from Nicholas Bellinger:\n \"There has been lots of work in existing code in a number of areas this\n  past cycle.  The major highlights have been:\n\n   * Removal of transport_do_task_sg_chain() from core + fabrics\n     (Roland)\n   * target-core: Removal of se_task abstraction from target-core and\n     enforce hw_max_sectors for pSCSI backends (hch)\n   * Re-factoring of iscsi-target tx immediate/response queues (agrover)\n   * Conversion of iscsi-target back to using target core memory\n     allocation logic (agrover)\n\n  We\u0027ve had one last minute iscsi-target patch go into for-next to\n  address a nasty regression bug related to the target core allocation\n  logic conversion from agrover that is not included in friday\u0027s\n  linux-next build, but has been included in this series.\n\n  On the new fabric module code front for-3.5, here is a brief status\n  update for the three currently in flight this round:\n\n   * usb-gadget target driver:\n\n  Sebastian Siewior\u0027s driver for supporting usb-gadget target mode\n  operation.  This will be going out as a separate PULL request from\n  target-pending/usb-target-merge with subsystem maintainer ACKs.  There\n  is one minor target-core patch in this series required to function.\n\n   * sbp ieee-1394/firewire target driver:\n\n  Chris Boot\u0027s driver for supportting the Serial Block Protocol (SBP)\n  across IEEE-1394 Firewire hardware.  This will be going out as a\n  separate PULL request from target-pending/sbp-target-merge with two\n  additional drivers/firewire/ patches w/ subsystem maintainer ACKs.\n\n   * qla2xxx LLD target mode infrastructure changes + tcm_qla2xxx:\n\n  The Qlogic \u003e\u003d 24xx series HW target mode LLD infrastructure patch-set\n  and tcm_qla2xxx fabric driver.  Support for FC target mode using\n  qla2xxx LLD code has been officially submitted by Qlogic to James\n  below, and is currently outstanding but not yet merged into\n  scsi.git/for-next..\n\n    [PATCH 00/22] qla2xxx: Updates for scsi \"misc\" branch\n    http://www.spinics.net/lists/linux-scsi/msg59350.html\n\n  Note there are *zero* direct dependencies upon this for-next series\n  for the qla2xxx LLD target + tcm_qla2xxx patches submitted above, and\n  over the last days the target mode team has been tracking down an\n  tcm_qla2xxx specific active I/O shutdown bug that appears to now be\n  almost squashed for 3.5-rc-fixes.\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (47 commits)\n  iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs\n  iscsi-target: remove dead code in iscsi_check_valuelist_for_support\n  target: Handle ATA_16 passthrough for pSCSI backend devices\n  target: Add MI_REPORT_TARGET_PGS ext. header + implict_trans_secs attribute\n  target: Fix MAINTENANCE_IN service action CDB checks to use lower 5 bits\n  target: add support for the WRITE_VERIFY command\n  target: make target_put_session void\n  target: cleanup transport_execute_tasks()\n  target: Remove max_sectors device attribute for modern se_task less code\n  target: lock \u003d\u003e unlock typo in transport_lun_wait_for_tasks\n  target: Enforce hw_max_sectors for SCF_SCSI_DATA_SG_IO_CDB\n  target: remove the t_se_count field in struct se_cmd\n  target: remove the t_task_cdbs_ex_left field in struct se_cmd\n  target: remove the t_task_cdbs_left field in struct se_cmd\n  target: remove struct se_task\n  target: move the state and execute lists to the command\n  target: simplify command to task linkage\n  target: always allocate a single task\n  target: replace -\u003eexecute_task with -\u003eexecute_cmd\n  target: remove the task_sectors field in struct se_task\n  ...\n"
    },
    {
      "commit": "cc169165c82e14ea43e313f937a0a475ca97e588",
      "tree": "519721cccd2d91ecba43ef4f8879021c8858d8b7",
      "parents": [
        "02daaf2741e74758a119768ca80cdf71c994ebd3",
        "e572568fbcc680e5bfce1819bbb4805ca218b5d0",
        "464357a7591302a98a5dbede7515c72adf4f2fef",
        "7d9c0de4ab4ec00b8349d1af0b736a0d473671c2",
        "b6cec8aa4a799d1e146095f0ba52454710f5ede4",
        "035b1032b57635e0b6015aed47dcb43c01e4ce7f",
        "784d135f967849cb51c7e8d0c5230734f893331c",
        "349556692df946b9cd5b84f2b0fa09b98732e986",
        "1c94283ddbe8a9945c4aaac8b0be90d47f97f2df",
        "3987a2d3193cf267cb852f48b2b299c9574644c3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 21 09:00:47 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 21 09:00:47 2012 -0700"
      },
      "message": "Merge branches \u0027core\u0027, \u0027cxgb4\u0027, \u0027ipath\u0027, \u0027iser\u0027, \u0027lockdep\u0027, \u0027mlx4\u0027, \u0027nes\u0027, \u0027ocrdma\u0027, \u0027qib\u0027 and \u0027raw-qp\u0027 into for-linus\n"
    },
    {
      "commit": "e572568fbcc680e5bfce1819bbb4805ca218b5d0",
      "tree": "a5daa269570f8be39fb814447e87babcd82297c9",
      "parents": [
        "67bbc05512d8a609e9a2d284dbfda9d2c50f0bf6"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Mon May 21 17:31:13 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 21 09:00:34 2012 -0700"
      },
      "message": "RDMA/cxgb4: Include vmalloc.h for vmalloc and vfree\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "035b1032b57635e0b6015aed47dcb43c01e4ce7f",
      "tree": "aecc4879075df50b6364e4b4305c7894619fa281",
      "parents": [
        "e605b743f33d697ad885f99ac8aac480ab6aa6de"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu May 10 23:28:09 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 17:45:01 2012 -0700"
      },
      "message": "IB/mlx4: Fix mlx4_ib_add() error flow\n\nWe need to use a different loop index for mlx4_counter_alloc() and for\ndevice_create_file() iterations: the mlx4_counter_alloc() loop index\nis used in the error flow to free counters.\n\nIf the same loop index is used for device_create_file() and, say, the\ndevice_create_file() loop fails on the first iteration, the allocated\ncounters will not be freed.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7d9c0de4ab4ec00b8349d1af0b736a0d473671c2",
      "tree": "ea98903ee548b01debd791d2294a3d9bd4df266a",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Apr 29 17:04:21 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 17:05:31 2012 -0700"
      },
      "message": "IB/iser: Fix error flow in iser ep connection establishment\n\nThe current error flow code was releasing the IB connection object and\ncalling iscsi_destroy_endpoint() directly without going through the\nreference counting mechanism introduced in commit 39ff05d (\"IB/iser:\nEnhance disconnection logic for multi-pathing\"). This resulted in a\ndouble free of the iscsi endpoint object, which causes a kernel NULL\npointer dereference.  Fix that by plugging into the IB conn reference\ncounting correctly.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e605b743f33d697ad885f99ac8aac480ab6aa6de",
      "tree": "cc4be106da589cc38964b9f15808476140e17d81",
      "parents": [
        "f4ec9e9531ac79ee2521faf7ad3d98978f747e42"
      ],
      "author": {
        "name": "Shlomo Pongratz",
        "email": "shlomop@mellanox.com",
        "time": "Sun Apr 29 17:04:27 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 17:04:00 2012 -0700"
      },
      "message": "IB/mlx4: Increase the number of vectors (EQs) available for ULPs\n\nEnable IB ULPs to use a larger portion of the device EQs (which map to\nIRQs).  The mlx4_ib driver follows the mlx4_core framework of the EQs\nto be divided among the device ports.  In this scheme, for each IB\nport, the number of allocated EQs follows the number of cores, subject\nto other system constraints, such as number available MSI-X vectors.\n\nSigned-off-by: Shlomo Pongratz \u003cshlomop@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "67bbc05512d8a609e9a2d284dbfda9d2c50f0bf6",
      "tree": "b823f58da10c376c9be2595c97d633cbc3453dd1",
      "parents": [
        "ec3eead217181d7360a11317a888ceb30807867c"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:33 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:37 2012 -0700"
      },
      "message": "RDMA/cxgb4: Add query_qp support\n\nThis allows querying the QP state before flushing.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ec3eead217181d7360a11317a888ceb30807867c",
      "tree": "a03f11c906567206293bfed251542c0d0da05e43",
      "parents": [
        "d716a2a014ad199362a59004b5ab932030a213ff"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:32 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:36 2012 -0700"
      },
      "message": "RDMA/cxgb4: Remove kfifo usage\n\nUsing kfifos for ID management was limiting the number of QPs and\npreventing NP384 MPI jobs.  So replace it with a simple bitmap\nallocator.\n\nRemove IDs from the IDR tables before deallocating them.  This bug was\ncausing the BUG_ON() in insert_handle() to fire because the ID was\ngetting reused before being removed from the IDR table.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d716a2a014ad199362a59004b5ab932030a213ff",
      "tree": "017187fbcac3194075648f1538b43ebb34be8ee1",
      "parents": [
        "422eea0a8cf658bc9564726d74e8384b89a8f4fa"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:31 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:35 2012 -0700"
      },
      "message": "RDMA/cxgb4: Use vmalloc() for debugfs QP dump\n\nThis allows dumping thousands of QPs.  Log active open failures of\ninterest.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "422eea0a8cf658bc9564726d74e8384b89a8f4fa",
      "tree": "6c2ad0bf5112cfef2cd5bb025468cc3318d337d0",
      "parents": [
        "4984037bef54253d4d010d3e57f175ab694bee26"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:30 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:33 2012 -0700"
      },
      "message": "RDMA/cxgb4: DB Drop Recovery for RDMA and LLD queues\n\nAdd module option db_fc_threshold which is the count of active QPs\nthat trigger automatic db flow control mode.  Automatically transition\nto/from flow control mode when the active qp count crosses\ndb_fc_theshold.\n\nAdd more db debugfs stats\n\nOn DB DROP event from the LLD, recover all the iwarp queues.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4984037bef54253d4d010d3e57f175ab694bee26",
      "tree": "1519c324e47960546d66606ab4fa5a63fa203994",
      "parents": [
        "2c97478106880a5fb241a473252e61845a69386e"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:29 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:32 2012 -0700"
      },
      "message": "RDMA/cxgb4: Disable interrupts in c4iw_ev_dispatch()\n\nUse GFP_ATOMIC in _insert_handle() if ints are disabled.\n\nDon\u0027t panic if we get an abort with no endpoint found.  Just log a\nwarning.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2c97478106880a5fb241a473252e61845a69386e",
      "tree": "b17a7486865794efacf6409263ba0462a1d112e0",
      "parents": [
        "8d81ef34b249109084b2f3c4bb826d0417ef5814"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:28 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:31 2012 -0700"
      },
      "message": "RDMA/cxgb4: Add DB Overflow Avoidance\n\nGet FULL/EMPTY/DROP events from LLD.  On FULL event, disable normal\nuser mode DB rings.\n\nAdd modify_qp semantics to allow user processes to call into the\nkernel to ring doobells without overflowing.\n\nAdd DB Full/Empty/Drop stats.\n\nMark queues when created indicating the doorbell state.\n\nIf we\u0027re in the middle of db overflow avoidance, then newly created\nqueues should start out in this mode.\n\nBump the C4IW_UVERBS_ABI_VERSION to 2 so the user mode library can\nknow if the driver supports the kernel mode db ringing.\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8d81ef34b249109084b2f3c4bb826d0417ef5814",
      "tree": "77dbd13539db2053cada804c35e4cccd26f4e4c0",
      "parents": [
        "3069ee9bc451d90a2fa8c3c7ef2774744d9d3bb0"
      ],
      "author": {
        "name": "Vipul Pandya",
        "email": "vipul@chelsio.com",
        "time": "Fri May 18 15:29:27 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 18 13:22:29 2012 -0700"
      },
      "message": "RDMA/cxgb4: Add debugfs RDMA memory stats\n\nSigned-off-by: Vipul Pandya \u003cvipul@chelsio.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "14b9222808bb8bfefc71f72bc0dbdcf3b2f0140f",
      "tree": "8bb89fb298b62f3ecd22b10a12d07d065f2fd23f",
      "parents": [
        "0f1dcfae6bc5563424346ad3a03282b8235a4c33"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Mon Apr 30 15:31:29 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 15 09:46:09 2012 -0700"
      },
      "message": "RDMA/cxgb4: Drop peer_abort when no endpoint found\n\nLog a warning and drop the abort message.  Otherwise we will do a\nbogus wake_up() and crash.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0f1dcfae6bc5563424346ad3a03282b8235a4c33",
      "tree": "de339bd76fc1f88cd9cac6361409f545bebc1470",
      "parents": [
        "bd61baaf59669accae2720799394a51fecabe5d9"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Fri Apr 27 09:59:16 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 15 09:46:04 2012 -0700"
      },
      "message": "RDMA/cxgb4: Always wake up waiters in c4iw_peer_abort_intr()\n\nThis fixes a race where an ingress abort fails to wake up the thread\nblocked in rdma_init() causing the app to hang.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "784d135f967849cb51c7e8d0c5230734f893331c",
      "tree": "08d682218c6ba8d2fbf139047c1678427411d9f4",
      "parents": [
        "d3e5132814fb7c80c4b1c4a0ec6b4fa06943d6d5"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Fri May 11 14:29:32 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:48:07 2012 -0700"
      },
      "message": "RDMA/nes: Don\u0027t call event handler if pointer is NULL\n\nDon\u0027t call the ibqp event_handler pointer in the case it wasn\u0027t initialized.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Donald Wood \u003cDonald.E.Wood@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d3e5132814fb7c80c4b1c4a0ec6b4fa06943d6d5",
      "tree": "9a069e5bf42124883f1a6f3d3deec204a918401c",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Tatyana Nikolova",
        "email": "Tatyana.E.Nikolova@intel.com",
        "time": "Fri May 11 10:46:16 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:47:18 2012 -0700"
      },
      "message": "RDMA/nes: Fix for the ORD value of the connecting peer\n\nSet ORD value of the connecting peer to be at least one in order to\naccommodate an RDMA READ Request message.\n\nSigned-off-by: Tatyana Nikolova \u003cTatyana.E.Nikolova@intel.com\u003e\nSigned-off-by: Donald Wood \u003cDonald.E.Wood@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "1c94283ddbe8a9945c4aaac8b0be90d47f97f2df",
      "tree": "37d46ea239d1e872007bd0dc93b2a3d40311afa8",
      "parents": [
        "3236b2d469dba42fde837b8cb06308f7f360dfed"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@intel.com",
        "time": "Mon May 07 14:02:31 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:43:34 2012 -0700"
      },
      "message": "IB/qib: Add cache line awareness to qib_qp and qib_devdata structures\n\nThis patch reorganizes the QP and devdata files to be more cache line aware.\n\nqib_qp fields in particular are split into read-mostly, send, and receive fields.\n\nqib_devdata fields are split into read-mostly and read/write fields\n\nTesting has show that bidirectional tests improve by as much as 100%\nwith this patch.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3236b2d469dba42fde837b8cb06308f7f360dfed",
      "tree": "755ed9ac544961594e8fb6c65061696e16a944cb",
      "parents": [
        "6199c8961e1bcd38c112bee9028d482e2a7768eb"
      ],
      "author": {
        "name": "Jim Foraker",
        "email": "foraker1@llnl.gov",
        "time": "Wed May 02 14:57:23 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:42:44 2012 -0700"
      },
      "message": "IB/qib: MADs with misset M_Keys should return failure\n\nIf a MAD is sent directly to the local HCA rather than placed on a QP\nand the MAD fails M_Key checks, there is no means to generate a\ntimeout for the client, which may hang.  Instead we report\nIB_MAD_RESULT_FAILURE, which operates the same for on-the-wire\npackets, but will generate a send failure back to the client.\n\nReviewed-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Jim Foraker \u003cforaker1@llnl.gov\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6199c8961e1bcd38c112bee9028d482e2a7768eb",
      "tree": "c11b56db34106b8f1b758516a152213c85918145",
      "parents": [
        "f665acb3cbc4d7d83bd655d21e4c7edc45029c46"
      ],
      "author": {
        "name": "Jim Foraker",
        "email": "foraker1@llnl.gov",
        "time": "Wed May 02 14:39:11 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:42:42 2012 -0700"
      },
      "message": "IB/qib: Fix M_Key lease timeout handling\n\nIf a port has an M_Key lease set, the M_Key protect bits set to 1, and\na SubnSet arrives with an invalid M_Key, an M_Key mismatch trap is\ngenerated, the lease timer begins as expected, and eventually the\nM_Key protect bits will be set back to 0 as per the spec.  However, if\nany other SMP with an invalid M_Key arrives, the lease timer is expired\nand the M_Key protect bits remain in force.\n\nThis is not according to to spec.  In particular, C14-17 says that\na lease timer that is underway is not affected by protection level\nchecks (ie, at protection level 1, a SubnGet with a bad M_Key may be\nsuccessful, but does not stop the timer), and C14-19 says that the timer\nshall stop when a valid M_Key has been received.  C14-19 is the only\ncompliance statement that specifies a stopping condition for the timer.\n\nThis behavior is magnified if the port\u0027s Master SM LID attribute\npoints at itself.  In that case, the M_Key mismatch trap is sufficient to\nexpire the timer, and the mkey lease attribute is rendered useless.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Jim Foraker \u003cforaker1@llnl.gov\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f665acb3cbc4d7d83bd655d21e4c7edc45029c46",
      "tree": "a29d7da50c7455b15dea05a7a26738395aca1270",
      "parents": [
        "6ceaadee341da89af143c5cd56a3652b406e1ff5"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko.haralanov@intel.com",
        "time": "Mon May 07 14:02:53 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:39:26 2012 -0700"
      },
      "message": "IB/qib: Fix QLE734X link cycling\n\nThe SERDES was using the incorrect Frequency Loop Bandwidth setting\ncausing the link to cycle through the Physical link negotiation state\nmachine.  Fixing the Frequency Loop Bandwidth setting in the SERDES\nhelps the link come up faster and more reliably.\n\nSigned-off-by: Mitko Haralanov \u003cmitko.haralanov@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6ceaadee341da89af143c5cd56a3652b406e1ff5",
      "tree": "5aa84c28c79f936d59bdcfb4475983a04799764d",
      "parents": [
        "4ccf28a26c981bcc6f938a7ea293a623d2d66d7b"
      ],
      "author": {
        "name": "Mitko Haralanov",
        "email": "mitko.haralanov@intel.com",
        "time": "Mon May 07 14:03:02 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:39:04 2012 -0700"
      },
      "message": "IB/qib: Display correct value for number of contexts\n\nA \"fix\" for a bug with the number of contexts on a single-port board\ncaused the calculation to be off by one, which causes problems with\nthe upper layers.  The same problem exists for number of free\ncontexts, which is also fixed here.\n\nSigned-off-by: Mitko Haralanov \u003cmitko.haralanov@intel.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4ccf28a26c981bcc6f938a7ea293a623d2d66d7b",
      "tree": "63eb2386d413a526ca8458d6f4508c0562a51cc9",
      "parents": [
        "bb77a077232e78476d7bc39c080f9e6685cbfd3c"
      ],
      "author": {
        "name": "Todd Rimmer",
        "email": "todd.rimmer@qlogic.com",
        "time": "Wed May 02 14:35:18 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:38:28 2012 -0700"
      },
      "message": "IB/qib: Correct ordering of reregister vs. port active events\n\nWhen a port first goes active with SMA Set(PortInfo) and reregister\nbit set, the driver sends up the reregister event followed by a port\nactive event.\n\nThe problem is that in response to reregister event most apps try to\nissue a SA query of some sort, but that fails because port is not\nactive.\n\nThe qib driver needs to a trivial change to correct this behavior.\n\nThis issue has been there for a while; however the recent serdes work\nhas probably made the delay between the reregister event and the\nactive event larger and hence opened the race far enough so that its\nbeing seen more often.\n\nThe patch also changes the clientrereg local to a u8 and saves off the\nrereg bit into it.  The code following the nested subn_get_portinfo()\nnow restores that bit per o14-12.2.1 with a logical OR from that copy.\n\nReviewed-by: Ram Vepa \u003cram.vepa@qlogic.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bb77a077232e78476d7bc39c080f9e6685cbfd3c",
      "tree": "d6b07dec8a7a7aa8fbbd752c2fd4b3b0c36088f9",
      "parents": [
        "cca195a168ac062967fd1fa75c75546167b1e213"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@intel.com",
        "time": "Mon May 07 14:02:42 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:37:03 2012 -0700"
      },
      "message": "IB/qib: Optimize pio ack buffer allocation\n\nThis patch optimizes pio buffer allocation in the kernel.\n\nFor qib, kernel pio buffers are used for sending acks.  The code to\nallocate the buffer would always start at 0 until it found a buffer.\n\nThis means that an average of 64 comparisions were done on each\nallocate, since the busy bit won\u0027t be cleared until the bits are\nrefreshed when buffers are exhausted.\n\nThis patch adds two new fields in the devdata struct, last_pio and\nmin_kernel_pio.  last_pio is the last buffer that was allocated.\nmin_kernel_pio is the lowest potential available buffer.\n\nmin_kernel_pio is modifed as contexts are allocated and deallocted.\n\nReviewed-by: Ramkrishna Vepa \u003cramkrishna.vepa@intel.com\u003e\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "cca195a168ac062967fd1fa75c75546167b1e213",
      "tree": "f0d5c473d9306e9c6d1c1761d16bb1f72dfbf0ce",
      "parents": [
        "8473c60314f5a225019a25bcd13763d42d988827"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@intel.com",
        "time": "Wed May 02 11:21:53 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon May 14 12:36:18 2012 -0700"
      },
      "message": "IB/qib: Add prefetch for eager buffers\n\nAdd a prefetch call when a packet has been stored.  The nature of the\nprefetch is correctly determined by the alternatives mechanism.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c4870eb874ac16dccef40e1bc7a002c7e9156adc",
      "tree": "111be5cae7c0180f6e15a06b83dca96da5155491",
      "parents": [
        "c3bccbfbb71f5e8a77129c7a069f5c5648cc9cf1"
      ],
      "author": {
        "name": "Yishai Hadas",
        "email": "yishaih@mellanox.com",
        "time": "Thu May 10 23:28:05 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri May 11 11:38:22 2012 -0700"
      },
      "message": "IB/core: Fix mismatch between locked and pinned pages\n\nCommit bc3e53f682d9 (\"mm: distinguish between mlocked and pinned\npages\") introduced a separate counter for pinned pages and used it in\nthe IB stack.  However, in ib_umem_get() the pinned counter is\nincremented, but ib_umem_release() wrongly decrements the locked\ncounter.  Fix this.\n\nSigned-off-by: Yishai Hadas \u003cyishaih@mellanox.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "987c8f8fc9efcb3cb02bab3a10f95e4bd1540eeb",
      "tree": "a7aeab7f3c15c386d68a46b687c721f578bc5693",
      "parents": [
        "b3416f4476f39f76fd5ca238e8332ba9b8f059d9"
      ],
      "author": {
        "name": "Shlomo Pongratz",
        "email": "shlomop@mellanox.com",
        "time": "Sun Apr 29 17:04:26 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:59:36 2012 -0700"
      },
      "message": "IB/mlx4: Replace printk(KERN_yyy...) with pr_yyy(...)\n\nSigned-off-by: Shlomo Pongratz \u003cshlomop@mellanox.com\u003e\n\n[ Replace one more printk_once() with pr_info_once().  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c0c1d3d761c32ece93b1c99d200591415e3cbf7c",
      "tree": "bd1099c23f115a3720f002e9fe27b832d34cf9e4",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Oren Duer",
        "email": "oren@mellanox.co.il",
        "time": "Sun Apr 29 17:04:24 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:48:09 2012 -0700"
      },
      "message": "IB/mlx4: Put priority bits in WQE of IBoE MLX QP\n\nOtherwise CM packets going over MLX QP1 get fixed scheduling priority 0.\nWe want CM packets to get the same scheduling priority, and therefore\nmap to the same SQ (Schedule Queue) and eventually TC (Traffic Class),\nas the application requested for the actual QP used for the connection.\n\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3987a2d3193cf267cb852f48b2b299c9574644c3",
      "tree": "ab1dae8e556caee4c5a5b1f6b1f6e6ce2c579dbb",
      "parents": [
        "c938a616aadb621b8e26b0ac09ac13d053c7ed1c"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Jan 17 13:39:07 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:18:09 2012 -0700"
      },
      "message": "IB/mlx4: Add raw packet QP support\n\nImplement raw packet QPs for Ethernet ports using the MLX transport (as\ndone by the mlx4_en Ethernet netdevice driver).\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c938a616aadb621b8e26b0ac09ac13d053c7ed1c",
      "tree": "85144d93d117f9d31a589385d65f36f061648b8f",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Thu Mar 01 12:17:51 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:18:09 2012 -0700"
      },
      "message": "IB/core: Add raw packet QP type\n\nIB_QPT_RAW_PACKET allows applications to build a complete packet,\nincluding L2 headers, when sending; on the receive side, the HW will\nnot strip any headers.\n\nThis QP type is designed for userspace direct access to Ethernet; for\nexample by applications that do TCP/IP themselves.  Only processes\nwith the NET_RAW capability are allowed to create raw packet QPs (the\nname \"raw packet QP\" is supposed to suggest an analogy to AF_PACKET /\nSOL_RAW sockets).\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "349556692df946b9cd5b84f2b0fa09b98732e986",
      "tree": "3c887f8b85e864b103aff9a56c75c8f756185470",
      "parents": [
        "d19081e044356ae6464e939aef04514c5e227b5a"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed May 02 15:42:33 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:49 2012 -0700"
      },
      "message": "RDMA/ocrdma: Fix build with IPV6\u003dn\n\nWhen IPV6 is not enabled:\n\n    ERROR: \"register_inet6addr_notifier\" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined!\n    ERROR: \"unregister_inet6addr_notifier\" [drivers/infiniband/hw/ocrdma/ocrdma.ko] undefined!\n\nFix this by wrapping the inet6 calls in #ifdef IPV6.  Also make the\nocrdma module depend on (IPV6 || IPV6\u003dn) to forbid the case of modular\nipv6 but built-in ocrdma (which can\u0027t work, because ocrdma calls ipv6\nfunctions).\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d19081e044356ae6464e939aef04514c5e227b5a",
      "tree": "2573b86021cf5deeb5728bb2c7aff72e8b5e0222",
      "parents": [
        "55a8d62a3bd2a0536d526da817fd4f49e6470770"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed May 02 09:14:47 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:49 2012 -0700"
      },
      "message": "RDMA/ocrdma: Tiny locking cleanup\n\nWe only need to disable the IRQs one time.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\n\n[ Rename \"wq_flags\" to more conventional \"flags.\"  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "55a8d62a3bd2a0536d526da817fd4f49e6470770",
      "tree": "3462e6a0fe6833b9e85b891ef6c5ead5f097bbe5",
      "parents": [
        "3e4d60a82e7ab4cd6e212b6834c6a48c79731957"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Wed May 02 09:13:57 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:49 2012 -0700"
      },
      "message": "RDMA/ocrdma: Fix check for NULL instead of IS_ERR\n\nThe ocrdma_alloc_lkey() function never returns NULL pointers -- it\nreturns ERR_PTRs.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3e4d60a82e7ab4cd6e212b6834c6a48c79731957",
      "tree": "9e03784ae5e92144ac5b19a8e76d0342118162c9",
      "parents": [
        "c592c42331f685b73f19ee54cfebfac0084f6e93"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Sat Apr 28 07:40:01 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:48 2012 -0700"
      },
      "message": "RDMA/ocrdma: Don\u0027t sleep in atomic notifier handler\n\nEvents sent to ocrdma_inet6addr_event() are sent from an atomic context,\ntherefore we can\u0027t try to lock a mutex within the notifier callback.\n\nWe could just switch the mutex to a spinlock since all it does it\nprotect a list, but I\u0027ve gone ahead and switched the list to use RCU\ninstead.  I couldn\u0027t fully test it since I don\u0027t have IB hardware, so\nif it doesn\u0027t fully work for some reason let me know and I\u0027ll switch\nit back to using a spinlock.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\n\n[ Fixed locking in ocrdma_add().  - Roland ]\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c592c42331f685b73f19ee54cfebfac0084f6e93",
      "tree": "621d9b1b6412ea79536d903686e376abaa665953",
      "parents": [
        "e9db29534d2bc7c5e24f0fdd4beff9001517d785"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 17 01:18:28 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:48 2012 -0700"
      },
      "message": "RDMA/ocrdma: Remove write-only variables\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e9db29534d2bc7c5e24f0fdd4beff9001517d785",
      "tree": "24354881e6c4ecd464c5668bfeeb2cdb0ae18259",
      "parents": [
        "abe3afacc5762065244421569ad86afef11813bb"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 16 12:13:24 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:48 2012 -0700"
      },
      "message": "RDMA/ocrdma: Set event\u0027s device member in ocrdma_dispatch_ibevent()\n\nWe need to set ib_evt.device, or else ib_dispatch_event() will crash\nwhen we call it for unaffiliated events (and consumers may get\nconfused in their QP/CQ/SRQ event handler for affiliated events).\n\nAlso fix sparse warning:\n\n    drivers/infiniband/hw/ocrdma/ocrdma_hw.c:678:36: warning: Using plain integer as NULL pointer\n\nThere\u0027s no need to clear ib_evt, since every member is initialized.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "abe3afacc5762065244421569ad86afef11813bb",
      "tree": "ead82d8a90aafbcbdfb04db4561e9d0b520f4c76",
      "parents": [
        "da4964387d997244b043dd812540bed851c45c9e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 16 11:36:29 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:48 2012 -0700"
      },
      "message": "RDMA/ocrdma: Make needlessly global functions/structs static\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "da4964387d997244b043dd812540bed851c45c9e",
      "tree": "54b77bf1acbe9fb628a7ec52c0faa425a299531c",
      "parents": [
        "fe2caefcdf5869f308c102e3d64d40683bfad711"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 16 11:32:17 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:47 2012 -0700"
      },
      "message": "RDMA/ocrdma: Fix warnings about uninitialized variables\n\nFirst, fix\n\n    drivers/infiniband/hw/ocrdma/ocrdma_verbs.c: In function \u0027ocrdma_alloc_pd\u0027:\n    drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:371:17: warning: \u0027dpp_page_addr\u0027 may be used uninitialized in this function [-Wuninitialized]\n    drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:337:6: note: \u0027dpp_page_addr\u0027 was declared here\n\nwhich seems that it may border on a bug (the call to ocrdma_del_mmap()\nmight conceivably do bad things if pd-\u003edpp_enabled is not set and\ndpp_page_addr ends up with just the wrong value).\n\nAlso take care of:\n\n    drivers/infiniband/hw/ocrdma/ocrdma_hw.c: In function \u0027ocrdma_init_hw\u0027:\n    drivers/infiniband/hw/ocrdma/ocrdma_hw.c:2587:5: warning: \u0027status\u0027 may be used uninitialized in this function [-Wuninitialized]\n    drivers/infiniband/hw/ocrdma/ocrdma_hw.c:2549:17: note: \u0027status\u0027 was declared here\n\nwhich is only real if num_eq \u003d\u003d 0, which should be impossible.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "fe2caefcdf5869f308c102e3d64d40683bfad711",
      "tree": "897e66d7aad31183fec317c4edba4f72f8d98e08",
      "parents": [
        "045508a8a36f9a82b63d1f6362bd323085638588"
      ],
      "author": {
        "name": "Parav Pandit",
        "email": "parav.pandit@emulex.com",
        "time": "Wed Mar 21 04:09:06 2012 +0530"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:47 2012 -0700"
      },
      "message": "RDMA/ocrdma: Add driver for Emulex OneConnect IBoE RDMA adapter\n\nSigned-off-by: Parav Pandit \u003cparav.pandit@emulex.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "b6cec8aa4a799d1e146095f0ba52454710f5ede4",
      "tree": "784c2ed70e9900ee90bf788e51d76c1b15767b3a",
      "parents": [
        "5909ce545db415ae8c26e849df862e8cc1acf571"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Wed Apr 25 17:42:35 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:34 2012 -0700"
      },
      "message": "RDMA/cma: Fix lockdep false positive recursive locking\n\nThe following lockdep problem was reported by Or Gerlitz \u003cogerlitz@mellanox.com\u003e:\n\n    [ INFO: possible recursive locking detected ]\n    3.3.0-32035-g1b2649e-dirty #4 Not tainted\n    ---------------------------------------------\n    kworker/5:1/418 is trying to acquire lock:\n     (\u0026id_priv-\u003ehandler_mutex){+.+.+.}, at: [\u003cffffffffa0138a41\u003e] rdma_destroy_i    d+0x33/0x1f0 [rdma_cm]\n\n    but task is already holding lock:\n     (\u0026id_priv-\u003ehandler_mutex){+.+.+.}, at: [\u003cffffffffa0135130\u003e] cma_disable_ca    llback+0x24/0x45 [rdma_cm]\n\n    other info that might help us debug this:\n     Possible unsafe locking scenario:\n\n           CPU0\n           ----\n      lock(\u0026id_priv-\u003ehandler_mutex);\n      lock(\u0026id_priv-\u003ehandler_mutex);\n\n     *** DEADLOCK ***\n\n     May be due to missing lock nesting notation\n\n    3 locks held by kworker/5:1/418:\n     #0:  (ib_cm){.+.+.+}, at: [\u003cffffffff81042ac1\u003e] process_one_work+0x210/0x4a    6\n     #1:  ((\u0026(\u0026work-\u003ework)-\u003ework)){+.+.+.}, at: [\u003cffffffff81042ac1\u003e] process_on    e_work+0x210/0x4a6\n     #2:  (\u0026id_priv-\u003ehandler_mutex){+.+.+.}, at: [\u003cffffffffa0135130\u003e] cma_disab    le_callback+0x24/0x45 [rdma_cm]\n\n    stack backtrace:\n    Pid: 418, comm: kworker/5:1 Not tainted 3.3.0-32035-g1b2649e-dirty #4\n    Call Trace:\n     [\u003cffffffff8102b0fb\u003e] ? console_unlock+0x1f4/0x204\n     [\u003cffffffff81068771\u003e] __lock_acquire+0x16b5/0x174e\n     [\u003cffffffff8106461f\u003e] ? save_trace+0x3f/0xb3\n     [\u003cffffffff810688fa\u003e] lock_acquire+0xf0/0x116\n     [\u003cffffffffa0138a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff81364351\u003e] mutex_lock_nested+0x64/0x2ce\n     [\u003cffffffffa0138a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff81065a78\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffff81065abc\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffffa0138a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffffa0139c02\u003e] cma_req_handler+0x418/0x644 [rdma_cm]\n     [\u003cffffffffa012ee88\u003e] cm_process_work+0x32/0x119 [ib_cm]\n     [\u003cffffffffa0130299\u003e] cm_req_handler+0x928/0x982 [ib_cm]\n     [\u003cffffffffa01302f3\u003e] ? cm_req_handler+0x982/0x982 [ib_cm]\n     [\u003cffffffffa0130326\u003e] cm_work_handler+0x33/0xfe5 [ib_cm]\n     [\u003cffffffff81065a78\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffffa01302f3\u003e] ? cm_req_handler+0x982/0x982 [ib_cm]\n     [\u003cffffffff81042b6e\u003e] process_one_work+0x2bd/0x4a6\n     [\u003cffffffff81042ac1\u003e] ? process_one_work+0x210/0x4a6\n     [\u003cffffffff813669f3\u003e] ? _raw_spin_unlock_irq+0x2b/0x40\n     [\u003cffffffff8104316e\u003e] worker_thread+0x1d6/0x350\n     [\u003cffffffff81042f98\u003e] ? rescuer_thread+0x241/0x241\n     [\u003cffffffff81046a32\u003e] kthread+0x84/0x8c\n     [\u003cffffffff8136e854\u003e] kernel_thread_helper+0x4/0x10\n     [\u003cffffffff81366d59\u003e] ? retint_restore_args+0xe/0xe\n     [\u003cffffffff810469ae\u003e] ? __init_kthread_worker+0x56/0x56\n     [\u003cffffffff8136e850\u003e] ? gs_change+0xb/0xb\n\nThe actual locking is fine, since we\u0027re dealing with different locks,\nbut from the same lock class.  cma_disable_callback() acquires the\nlistening id mutex, whereas rdma_destroy_id() acquires the mutex for\nthe new connection id.  To fix this, delay the call to\nrdma_destroy_id() until we\u0027ve released the listening id mutex.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "5909ce545db415ae8c26e849df862e8cc1acf571",
      "tree": "d954aab4be3b6b3f21b39e7fb17ec26b68c9a564",
      "parents": [
        "3bea57a5fc1762a72fb9ac88b9aa9e48dcbea8bc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 30 12:51:50 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:34 2012 -0700"
      },
      "message": "IB/uverbs: Lock SRQ / CQ / PD objects in a consistent order\n\nSince XRC support was added, the uverbs code has locked SRQ, CQ and PD\nobjects needed during QP and SRQ creation in different orders\ndepending on the the code path.  This leads to the (at least\ntheoretical) possibility of deadlock, and triggers the lockdep splat\nbelow.\n\nFix this by making sure we always lock the SRQ first, then CQs and\nfinally the PD.\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ INFO: possible circular locking dependency detected ]\n    3.4.0-rc5+ #34 Not tainted\n    -------------------------------------------------------\n    ibv_srq_pingpon/2484 is trying to acquire lock:\n     (SRQ-uobj){+++++.}, at: [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n\n    but task is already holding lock:\n     (CQ-uobj){+++++.}, at: [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n\n    which lock already depends on the new lock.\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #2 (CQ-uobj){+++++.}:\n           [\u003cffffffff81070fd0\u003e] lock_acquire+0xbf/0xfe\n           [\u003cffffffff81384f28\u003e] down_read+0x34/0x43\n           [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n           [\u003cffffffffa00af542\u003e] idr_read_obj+0x9/0x19 [ib_uverbs]\n           [\u003cffffffffa00b16c3\u003e] ib_uverbs_create_qp+0x180/0x684 [ib_uverbs]\n           [\u003cffffffffa00ae3dd\u003e] ib_uverbs_write+0xb7/0xc2 [ib_uverbs]\n           [\u003cffffffff810fe47f\u003e] vfs_write+0xa7/0xee\n           [\u003cffffffff810fe65f\u003e] sys_write+0x45/0x69\n           [\u003cffffffff8138cdf9\u003e] system_call_fastpath+0x16/0x1b\n\n    -\u003e #1 (PD-uobj){++++++}:\n           [\u003cffffffff81070fd0\u003e] lock_acquire+0xbf/0xfe\n           [\u003cffffffff81384f28\u003e] down_read+0x34/0x43\n           [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n           [\u003cffffffffa00af542\u003e] idr_read_obj+0x9/0x19 [ib_uverbs]\n           [\u003cffffffffa00af8ad\u003e] __uverbs_create_xsrq+0x96/0x386 [ib_uverbs]\n           [\u003cffffffffa00b31b9\u003e] ib_uverbs_detach_mcast+0x1cd/0x1e6 [ib_uverbs]\n           [\u003cffffffffa00ae3dd\u003e] ib_uverbs_write+0xb7/0xc2 [ib_uverbs]\n           [\u003cffffffff810fe47f\u003e] vfs_write+0xa7/0xee\n           [\u003cffffffff810fe65f\u003e] sys_write+0x45/0x69\n           [\u003cffffffff8138cdf9\u003e] system_call_fastpath+0x16/0x1b\n\n    -\u003e #0 (SRQ-uobj){+++++.}:\n           [\u003cffffffff81070898\u003e] __lock_acquire+0xa29/0xd06\n           [\u003cffffffff81070fd0\u003e] lock_acquire+0xbf/0xfe\n           [\u003cffffffff81384f28\u003e] down_read+0x34/0x43\n           [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n           [\u003cffffffffa00af542\u003e] idr_read_obj+0x9/0x19 [ib_uverbs]\n           [\u003cffffffffa00b1728\u003e] ib_uverbs_create_qp+0x1e5/0x684 [ib_uverbs]\n           [\u003cffffffffa00ae3dd\u003e] ib_uverbs_write+0xb7/0xc2 [ib_uverbs]\n           [\u003cffffffff810fe47f\u003e] vfs_write+0xa7/0xee\n           [\u003cffffffff810fe65f\u003e] sys_write+0x45/0x69\n           [\u003cffffffff8138cdf9\u003e] system_call_fastpath+0x16/0x1b\n\n    other info that might help us debug this:\n\n    Chain exists of:\n      SRQ-uobj --\u003e PD-uobj --\u003e CQ-uobj\n\n     Possible unsafe locking scenario:\n\n           CPU0                    CPU1\n           ----                    ----\n      lock(CQ-uobj);\n                                   lock(PD-uobj);\n                                   lock(CQ-uobj);\n      lock(SRQ-uobj);\n\n     *** DEADLOCK ***\n\n    3 locks held by ibv_srq_pingpon/2484:\n     #0:  (QP-uobj){+.+...}, at: [\u003cffffffffa00b162c\u003e] ib_uverbs_create_qp+0xe9/0x684 [ib_uverbs]\n     #1:  (PD-uobj){++++++}, at: [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n     #2:  (CQ-uobj){+++++.}, at: [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n\n    stack backtrace:\n    Pid: 2484, comm: ibv_srq_pingpon Not tainted 3.4.0-rc5+ #34\n    Call Trace:\n     [\u003cffffffff8137eff0\u003e] print_circular_bug+0x1f8/0x209\n     [\u003cffffffff81070898\u003e] __lock_acquire+0xa29/0xd06\n     [\u003cffffffffa00af37c\u003e] ? __idr_get_uobj+0x20/0x5e [ib_uverbs]\n     [\u003cffffffffa00af51b\u003e] ? idr_read_uobj+0x2f/0x4d [ib_uverbs]\n     [\u003cffffffff81070fd0\u003e] lock_acquire+0xbf/0xfe\n     [\u003cffffffffa00af51b\u003e] ? idr_read_uobj+0x2f/0x4d [ib_uverbs]\n     [\u003cffffffff81070eee\u003e] ? lock_release+0x166/0x189\n     [\u003cffffffff81384f28\u003e] down_read+0x34/0x43\n     [\u003cffffffffa00af51b\u003e] ? idr_read_uobj+0x2f/0x4d [ib_uverbs]\n     [\u003cffffffffa00af51b\u003e] idr_read_uobj+0x2f/0x4d [ib_uverbs]\n     [\u003cffffffffa00af542\u003e] idr_read_obj+0x9/0x19 [ib_uverbs]\n     [\u003cffffffffa00b1728\u003e] ib_uverbs_create_qp+0x1e5/0x684 [ib_uverbs]\n     [\u003cffffffff81070fec\u003e] ? lock_acquire+0xdb/0xfe\n     [\u003cffffffff81070c09\u003e] ? lock_release_non_nested+0x94/0x213\n     [\u003cffffffff810d470f\u003e] ? might_fault+0x40/0x90\n     [\u003cffffffff810d470f\u003e] ? might_fault+0x40/0x90\n     [\u003cffffffffa00ae3dd\u003e] ib_uverbs_write+0xb7/0xc2 [ib_uverbs]\n     [\u003cffffffff810fe47f\u003e] vfs_write+0xa7/0xee\n     [\u003cffffffff810ff736\u003e] ? fget_light+0x3b/0x99\n     [\u003cffffffff810fe65f\u003e] sys_write+0x45/0x69\n     [\u003cffffffff8138cdf9\u003e] system_call_fastpath+0x16/0x1b\n\nReported-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3bea57a5fc1762a72fb9ac88b9aa9e48dcbea8bc",
      "tree": "8defc3f9068d817f9ed0f0184304695b25f12dbc",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 30 10:27:26 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:34 2012 -0700"
      },
      "message": "IB/uverbs: Make lockdep output more readable\n\nAdd names for our lockdep classes, so instead of having to decipher\nlockdep output with mysterious names:\n\n    Chain exists of:\n      key#14 --\u003e key#11 --\u003e key#13\n\nlockdep will give us something nicer:\n\n    Chain exists of:\n      SRQ-uobj --\u003e PD-uobj --\u003e CQ-uobj\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "464357a7591302a98a5dbede7515c72adf4f2fef",
      "tree": "a770700d76b4dd96276b239756ba21f54c603837",
      "parents": [
        "6475f1df272fee35cb718acb5e55b51f23898e82"
      ],
      "author": {
        "name": "Mike Marciniszyn",
        "email": "mike.marciniszyn@qlogic.com",
        "time": "Thu Apr 19 11:59:15 2012 -0400"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:20 2012 -0700"
      },
      "message": "IB/ipath: Replace open-coded ARRAY_SIZE with macro\n\nChange sizeof(array)/sizeof(array[0]) to ARRAY_SIZE.\n\nSigned-off-by: Mike Marciniszyn \u003cmike.marciniszyn@qlogic.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "6475f1df272fee35cb718acb5e55b51f23898e82",
      "tree": "5dff0f9f3c82de283571234fbc7fd7add461d126",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Tue Apr 10 18:55:25 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:20 2012 -0700"
      },
      "message": "IB/ipath: Replace open-coded ARRAY_SIZE with macro\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Mike Marciniszyn \u003cmike.marciniszyn@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bd61baaf59669accae2720799394a51fecabe5d9",
      "tree": "9c6ab2d10e030e7809920d3c6eee11203348cb7c",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Fri Apr 27 10:24:33 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:17:04 2012 -0700"
      },
      "message": "RDMA/cxgb4: Use dst parameter in import_ep()\n\nFunction import_ep() is incorrectly using ep-\u003edst instead of the dst\nptr passed in.  This causes a crash when accepting new rdma connections\nbecase ep-\u003edst is not initialized yet.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c3bccbfbb71f5e8a77129c7a069f5c5648cc9cf1",
      "tree": "f1802d86a4db8c263e6960c401c4f29be3f68b0a",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Apr 29 17:04:22 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:16:54 2012 -0700"
      },
      "message": "IB/core: Use qp-\u003eusecnt to track multicast attach/detach\n\nJust as we don\u0027t allow PDs, CQs, etc. to be destroyed if there are QPs\nthat are attached to them, don\u0027t let a QP be destroyed if there are\nmulticast group(s) attached to it.  Use the existing usecnt field of\nstruct ib_qp which was added by commit 0e0ec7e (\"RDMA/core: Export\nib_open_qp() to share XRC TGT QPs\") to track this.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ebcf596d89f9686308db768e527a22165831b473",
      "tree": "df0452fdaf81db6920216d1e0136b7c08525e457",
      "parents": [
        "acdf2fc860f785781bb304a7f178141541f85283",
        "b609379f8db3019f26950dd914f4f6cc7078dee8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 26 15:35:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 26 15:35:35 2012 -0700"
      },
      "message": "Merge tag \u0027ib-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull infiniband fixes from Roland Dreier:\n \"A few fixes for regressions introduced in 3.4-rc1:\n   - fix memory leak in mlx4\n   - fix two problems with new MAD response generation code\"\n\n* tag \u0027ib-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mlx4: Fix memory leaks in ib_link_query_port()\n  IB/mad: Don\u0027t send response for failed MADs\n  IB/mad: Set \u0027D\u0027 bit in response for unhandled MADs\n"
    },
    {
      "commit": "b609379f8db3019f26950dd914f4f6cc7078dee8",
      "tree": "e297ede2a09f2dfc8ea63ffe4c417c0466df2907",
      "parents": [
        "a9e7432319eb26ad90f18a7d215e50341d28ecb2",
        "bf6b47deb40f9fc8ddb4573373dc9614aab59d35"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 24 16:11:46 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 24 16:11:46 2012 -0700"
      },
      "message": "Merge branches \u0027mad-response\u0027 and \u0027mlx4\u0027 into fixes\n"
    },
    {
      "commit": "bf6b47deb40f9fc8ddb4573373dc9614aab59d35",
      "tree": "866e0dedc84ce00105a009b701e8801b6fbe1622",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Wed Apr 11 23:43:29 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 24 16:11:21 2012 -0700"
      },
      "message": "IB/mlx4: Fix memory leaks in ib_link_query_port()\n\nIf the call to mlx4_MAD_IFC() fails in ib_link_query_port() we will\ncurrently do \u0027return err;\u0027 which will leak \u0027in_mad\u0027 and \u0027out_mad\u0027.  We\nshould instead do \u0027goto out;\u0027 where we\u0027ll properly free the memory we\npreviously allocated.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "a9e7432319eb26ad90f18a7d215e50341d28ecb2",
      "tree": "a6086093a69e4f3f4339085af76e323c44ef38d6",
      "parents": [
        "840777de530ae96ee9a3022f7ec1d6c65abb26ac"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Apr 24 16:08:57 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 24 16:08:57 2012 -0700"
      },
      "message": "IB/mad: Don\u0027t send response for failed MADs\n\nCommit 0b307043049f (\"IB/mad: Return error response for unsupported\nMADs\") does not failed MADs (eg those that return\nIB_MAD_RESULT_FAILURE) properly -- these MADs should be silently\ndiscarded. (We should not force the lower-layer drivers to return\nSUCCESS | CONSUMED in this case, since the MAD is NOT successful).\nUnsupported MADs are not failures -- they return SUCCESS, but with an\n\"unsupported error\" status value inside the response MAD.\n\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "840777de530ae96ee9a3022f7ec1d6c65abb26ac",
      "tree": "4276b8b4082dd44f323c3c9b65e09a87e7570b4f",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Apr 24 16:06:50 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Apr 24 16:06:50 2012 -0700"
      },
      "message": "IB/mad: Set \u0027D\u0027 bit in response for unhandled MADs\n\nCommit 0b307043049f (\"IB/mad: Return error response for unsupported\nMADs\") does not handle directed-route MADs properly -- it fails to set\nthe \u0027D\u0027 bit in the response MAD status field.  This is a problem for\nSmInfo MADs when the receiver does not have an SM running.\n\nReviewed-by: Hal Rosenstock \u003chal@mellanox.com\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f24001941c99776f41bd3f09c07d91205c2ad9d4",
      "tree": "0ab31480ccdf343b61db045e195d096068ef7c73",
      "parents": [
        "a108d5f35adc5c5d5cdc882dc0bb920565551bff",
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:14:36 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:15:17 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFix merge between commit 3adadc08cc1e (\"net ax25: Reorder ax25_exit to\nremove races\") and commit 0ca7a4c87d27 (\"net ax25: Simplify and\ncleanup the ax25 sysctl handling\")\n\nThe former moved around the sysctl register/unregister calls, the\nlater simply removed them.\n\nWith help from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec8f23ce0f4005b74013d4d122e0d540397a93c9",
      "tree": "c2f22aa08ad4c0197d3cb41b91cf8d436794fde1",
      "parents": [
        "f99e8f715a5c7ebad5410b1e9b4d744ddb284f54"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:44:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:30 2012 -0400"
      },
      "message": "net: Convert all sysctl registrations to register_net_sysctl\n\nThis results in code with less boiler plate that is a bit easier\nto read.\n\nAdditionally stops us from using compatibility code in the sysctl\ncore, hastening the day when the compatibility code can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dd3df105b9f6cb7dd2472b59e028d0d1c878ecb",
      "tree": "b12606e6e74ee6d07823eb268e09d899946279fd",
      "parents": [
        "4344475797a16ef948385780943f7a5cf09f0675"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:24:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:17 2012 -0400"
      },
      "message": "net: Move all of the network sysctls without a namespace into init_net.\n\nThis makes it clearer which sysctls are relative to your current network\nnamespace.\n\nThis makes it a little less error prone by not exposing sysctls for the\ninitial network namespace in other namespaces.\n\nThis is the same way we handle all of our other network interfaces to\nuserspace and I can\u0027t honestly remember why we didn\u0027t do this for\nsysctls right from the start.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a12f41f8412ff57057906ebbe146fda37db158ac",
      "tree": "e3138df9188c5fff3156e53c8f6781240ee062cb",
      "parents": [
        "8b1e1244db85d58f7c612870ec2c1afd9098ae93"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Tue Apr 03 15:51:20 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:36 2012 -0700"
      },
      "message": "target: Rename target_allocate_tasks to target_setup_cmd_from_cdb\n\nThis patch renames a horribly misnamed function that no longer allocate\ntasks to something more descriptive for it\u0027s modern use in target core.\n\n(nab: Fix up ib_srpt to use this as well ahead of a target_submit_cmd\nconversion)\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "6f9e7f01b69bc2d6021e4ab827e1fd78c82cbc52",
      "tree": "813c6e9f5e5cfe8e67444a00b5ece09a878462cd",
      "parents": [
        "e182d6828d3144f7206829398c95fc14b78e9bbc"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Mar 30 11:29:12 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Apr 14 17:40:32 2012 -0700"
      },
      "message": "IB/srpt: Remove use of transport_do_task_sg_chain()\n\nWith the modern target core, se_cmd-\u003et_data_sg already points to a\nsglist that covers the whole command.  So task_sg chaining is needless\noverhead and obfuscation -- instead of splicing the split up task\nsglists back into one list, we can just use the original list directly.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "4166fb64593514ad920b7dbd290e0a934b37d24a",
      "tree": "bf48a0ea86b578ba7f8bec61ebe6565f4b36f061",
      "parents": [
        "e4757cab4cff01e9c47b14376be7438694032c3c",
        "6f3603367b8f7c34598fdfc1058622e0e1951e98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 18:51:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 12 18:51:32 2012 -0700"
      },
      "message": "Merge tag \u0027srpt-srq-type\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull infiniband fix from Roland Dreier:\n \"Add a fix for a bug hit by Alexey Shvetsov in ib_srtp that hits on\n  non-mlx4 hardware.\"\n\n* tag \u0027srpt-srq-type\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/srpt: Set srq_type to IB_SRQT_BASIC\n"
    },
    {
      "commit": "011e3c63251be832d23df9f0697626ab7b354d02",
      "tree": "2cad5b58c274c93ae49d9b58fb15d784d4dfd78f",
      "parents": [
        "c1412fce7eccae62b4de22494f6ab3ff8a90c0c6",
        "ecca5c3acc0d0933d89abc44e60afb0cc8170e35"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 19:41:23 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 19:41:23 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "6f3603367b8f7c34598fdfc1058622e0e1951e98",
      "tree": "fa61186333d1a57894534aac71e0aac72e95815c",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Apr 12 07:51:08 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Apr 12 07:56:57 2012 -0700"
      },
      "message": "IB/srpt: Set srq_type to IB_SRQT_BASIC\n\nSince commit 96104eda0169 (\"RDMA/core: Add SRQ type field\"), kernel\nusers of SRQs need to specify srq_type \u003d IB_SRQT_BASIC in struct\nib_srq_init_attr, or else most low-level drivers will fail in\nwhen srpt_add_one() calls ib_create_srq() and gets -ENOSYS.\n\n(mlx4_ib works OK nearly all of the time, because it just needs\nsrq_type !\u003d IB_SRQT_XRC.  And apparently nearly everyone using\nib_srpt is using mlx4 hardware)\n\nReported-by: Alexey Shvetsov \u003calexxy@gentoo.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "06eb4eafbdc0796d741d139a44f1253278da8611",
      "tree": "fbdb44317130c371928154c9e6903e699fe2b995",
      "parents": [
        "32ed53b83ea5ec26a4dba90e18f5e0ff6c71eb48",
        "f68e556e23d1a4176b563bcb25d8baf2c5313f91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "366cddb4028858079a9a8145bd713c13a9edb3dc",
      "tree": "1b6663c2ba6fa9dda6657d090be856d953e4a9e8",
      "parents": [
        "d4a968658ce7417d78638387343b6197839111af"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Apr 04 21:33:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 05:08:04 2012 -0400"
      },
      "message": "IB/rdma_cm: TOS \u003c\u003d\u003e UP mapping for IBoE\n\nBoth tagged traffic and untagged traffic use tc tool mapping.\nTreat RDMA TOS same as IP TOS when mapping to SL\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nCC: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0559d8dc13a1cd68b5e64c0b61659f36c7b5c89f",
      "tree": "680c2516ac8f6a6114ca35ade2a2ab341449c686",
      "parents": [
        "d2ef406866620f0450ad0b4c7fb5c2796c7bf245"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 02 10:57:31 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 02 10:57:31 2012 -0700"
      },
      "message": "IB/core: Don\u0027t return EINVAL from sysfs rate attribute for invalid speeds\n\nCommit e9319b0cb00d (\"IB/core: Fix SDR rates in sysfs\") changed our\nsysfs rate attribute to return EINVAL to userspace if the underlying\ndevice driver returns an invalid rate.  Apparently some drivers do this\nwhen the link is down and some userspace pukes if it gets an error when\nreading this attribute, so avoid a regression by not return an error to\nmatch the old code.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d2ef406866620f0450ad0b4c7fb5c2796c7bf245",
      "tree": "0d44c40c7da3b28f4edfb371cf782ae3f0c5c4c1",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Apr 02 17:45:20 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Apr 02 10:55:24 2012 -0700"
      },
      "message": "IB/mlx4: Don\u0027t return an invalid speed when a port is down\n\nWhen the IB port is down, the active_speed value returned by the\nMAD_IFC command is seven (7) which isn\u0027t among the defined IB speeds\nin enum ib_port_speed, and this invalid speed value is passed up to\nhigher layers or applications who do port query.\n\nFix that by setting the speed to be SDR -- the lowest possible -- when\nthe port is down.\n\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4e24ffa4d9fed762147c954755f8cb124e85740a",
      "tree": "2fc068defe8cb4f45df31650f7e3d262f5e89ba7",
      "parents": [
        "6662df33f85b87bb29f2ecad124efe7bb2c08e05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 20:19:38 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:42 2012 -0400"
      },
      "message": "infiniband: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1ab142d499294b844ecc81e8004db4ce029b0b61",
      "tree": "9db85a456d0cba3de8b9bd6671b1b52fa939770c",
      "parents": [
        "267d7b23dd62f6ec55e0fba777e456495c308fc7",
        "187e70a554e0f0717a65998bc9199945cbbd4692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:38:04 2012 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending\n\nPull SCSI target updates from Nicholas Bellinger:\n \"This contains the usual set of updates and bugfixes to target-core +\n  existing fabric module code, along with a handful of the patches\n  destined for v3.3 stable.\n\n  It also contains the necessary target-core infrastructure pieces\n  required to run using tcm_qla2xxx.ko WWPNs with the new Qlogic Fibre\n  Channel fabric module currently queued in target-pending/for-next-merge,\n  and coming for round 2.\n\n  The highlights for this series include:\n\n   - Add target_submit_tmr() helper function for fabric task management\n     (andy)\n   - Convert tcm_fc to use target_submit_tmr() (andy)\n   - Replace target core various cmd flags with a transport state (hch)\n   - Convert loopback to use workqueue submission (hch)\n   - Convert target core to use array_zalloc for tpg_lun_list (joern)\n   - Convert target core to use array_zalloc for device_list (joern)\n   - Add target core support for TMR_ABORT_TASK (nab)\n   - Add target core se_sess-\u003esess_kref + get/put helpers (nab)\n   - Add target core se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n     (nab)\n   - Convert iscsi-target to use target_put_session + sess_kref (nab)\n   - Fix tcm_fc fc_exch memory leak in ft_send_resp_status (nab)\n   - Fix ib_srpt srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on\n     exception (nab)\n   - Fix target core up handling of short INQUIRY buffers (roland)\n   - Untangle target-core front-end and back-end meanings of max_sectors\n     attribute (roland)\n   - Set loopback residual field for SCSI commands (roland)\n   - Fix target-core 16-bit target ports for SET TARGET PORT GROUPS\n     emulation (roland)\n\n  Thanks again to Andy, Christoph, Joern, Roland, and everyone who has\n  contributed this round!\"\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (64 commits)\n  ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n  loopback: Fix transport_generic_allocate_tasks error handling\n  iscsi-target: remove improper externs\n  iscsi-target: Remove unused variables in iscsi_target_parameters.c\n  target: remove obvious warnings\n  target: Use array_zalloc for device_list\n  target: Use array_zalloc for tpg_lun_list\n  target: Fix sense code for unsupported SERVICE ACTION IN\n  target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled\n  target: Bump core version to v4.1.0-rc2-ml + fabric versions\n  tcm_fc: Fix fc_exch memory leak in ft_send_resp_status\n  target: Drop unused legacy target_core_fabric_ops API callers\n  iscsi-target: Convert to use target_put_session + sess_kref\n  target: Convert se_node_acl-\u003eacl_group removal to use -\u003eacl_kref\n  target: Add se_node_acl-\u003eacl_kref for -\u003eacl_free_comp usage\n  target: Add se_node_acl-\u003eacl_free_comp for NodeACL release path\n  target: Add se_sess-\u003esess_kref + get/put helpers\n  target: Convert session_lock to irqsave\n  target: Fix typo in drivers/target\n  iscsi-target: Fix dynamic -\u003e explict NodeACL pointer reference\n  ...\n"
    },
    {
      "commit": "0c2fe82a9b106f1c03719783134360586d718a69",
      "tree": "ec1a18ca49f1e6724ef3a93727f5f73b7df61931",
      "parents": [
        "5f0e685f316a1de6d3af8b23eaf46651faca32ab",
        "f0e88aeb19dac00ed2e09fd4d39ee65f32d5e968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes for the 3.4 merge window from Roland Dreier:\n \"Nothing big really stands out; by patch count lots of fixes to the\n  mlx4 driver plus some cleanups and fixes to the core and other\n  drivers.\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (28 commits)\n  mlx4_core: Scale size of MTT table with system RAM\n  mlx4_core: Allow dynamic MTU configuration for IB ports\n  IB/mlx4: Fix info returned when querying IBoE ports\n  IB/mlx4: Fix possible missed completion event\n  mlx4_core: Report thermal error events\n  mlx4_core: Fix one more static exported function\n  IB: Change CQE \"csum_ok\" field to a bit flag\n  RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state\n  RDMA/cxgb3: Don\u0027t pass irq flags to flush_qp()\n  mlx4_core: Get rid of redundant ext_port_cap flags\n  RDMA/ucma: Fix AB-BA deadlock\n  IB/ehca: Fix ilog2() compile failure\n  IB: Use central enum for speed instead of hard-coded values\n  IB/iser: Post initial receive buffers before sending the final login request\n  IB/iser: Free IB connection resources in the proper place\n  IB/srp: Consolidate repetitive sysfs code\n  IB/srp: Use pr_fmt() and pr_err()/pr_warn()\n  IB/core: Fix SDR rates in sysfs\n  mlx4: Enforce device max FMR maps in FMR alloc\n  IB/mlx4: Set bad_wr for invalid send opcode\n  ...\n"
    },
    {
      "commit": "9f3938346a5c1fa504647670edb5fea5756cfb00",
      "tree": "7cf6d24d6b076c8db8571494984924cac03703a2",
      "parents": [
        "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
        "317b6e128247f75976b0fc2b9fd8d2c20ef13b3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 09:40:26 2012 -0700"
      },
      "message": "Merge branch \u0027kmap_atomic\u0027 of git://github.com/congwang/linux\n\nPull kmap_atomic cleanup from Cong Wang.\n\nIt\u0027s been in -next for a long time, and it gets rid of the (no longer\nused) second argument to k[un]map_atomic().\n\nFix up a few trivial conflicts in various drivers, and do an \"evil\nmerge\" to catch some new uses that have come in since Cong\u0027s tree.\n\n* \u0027kmap_atomic\u0027 of git://github.com/congwang/linux: (59 commits)\n  feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal\n  highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]\n  drbd: remove the second argument of k[un]map_atomic()\n  zcache: remove the second argument of k[un]map_atomic()\n  gma500: remove the second argument of k[un]map_atomic()\n  dm: remove the second argument of k[un]map_atomic()\n  tomoyo: remove the second argument of k[un]map_atomic()\n  sunrpc: remove the second argument of k[un]map_atomic()\n  rds: remove the second argument of k[un]map_atomic()\n  net: remove the second argument of k[un]map_atomic()\n  mm: remove the second argument of k[un]map_atomic()\n  lib: remove the second argument of k[un]map_atomic()\n  power: remove the second argument of k[un]map_atomic()\n  kdb: remove the second argument of k[un]map_atomic()\n  udf: remove the second argument of k[un]map_atomic()\n  ubifs: remove the second argument of k[un]map_atomic()\n  squashfs: remove the second argument of k[un]map_atomic()\n  reiserfs: remove the second argument of k[un]map_atomic()\n  ocfs2: remove the second argument of k[un]map_atomic()\n  ntfs: remove the second argument of k[un]map_atomic()\n  ...\n"
    },
    {
      "commit": "69a7aebcf019ab3ff5764525ad6858fbe23bb86d",
      "tree": "7211df5704b743a7667159748c670a9744164482",
      "parents": [
        "d464c92b5234227c1698862a1906827e2e398ae0",
        "f1f996b66cc3908a8f5ffccc2ff41840e92f3b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:12:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial tree from Jiri Kosina:\n \"It\u0027s indeed trivial -- mostly documentation updates and a bunch of\n  typo fixes from Masanari.\n\n  There are also several linux/version.h include removals from Jesper.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)\n  kcore: fix spelling in read_kcore() comment\n  constify struct pci_dev * in obvious cases\n  Revert \"char: Fix typo in viotape.c\"\n  init: fix wording error in mm_init comment\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  Revert \"power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c\"\n  writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header\n  writeback: fix typo in the writeback_control comment\n  Documentation: Fix multiple typo in Documentation\n  tpm_tis: fix tis_lock with respect to RCU\n  Revert \"media: Fix typo in mixer_drv.c and hdmi_drv.c\"\n  Doc: Update numastat.txt\n  qla4xxx: Add missing spaces to error messages\n  compiler.h: Fix typo\n  security: struct security_operations kerneldoc fix\n  Documentation: broken URL in libata.tmpl\n  Documentation: broken URL in filesystems.tmpl\n  mtd: simplify return logic in do_map_probe()\n  mm: fix comment typo of truncate_inode_pages_range\n  power: bq27x00: Fix typos in comment\n  ...\n"
    },
    {
      "commit": "2a156d094d590e1cb946d1c353f1c1a89013f822",
      "tree": "bf101fd143b1801faf05b7b954c2b12aa816f6af",
      "parents": [
        "45b408d2efb04cda10b6112ce2be95689d70cb0c"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:20 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:18 2012 +0800"
      },
      "message": "infiniband: remove the second argument of k[un]map_atomic()\n\nAcked-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "f0e88aeb19dac00ed2e09fd4d39ee65f32d5e968",
      "tree": "2e4f7b3740deb9305819e12e968ca70bdeb9434a",
      "parents": [
        "42872c7a5ed8d3ed49f51cb783978ca50369c564",
        "186834b5de69a89ba6cc846e7259451ced689b64",
        "db4106ce635830201fad1bfca731a635beab6a72",
        "91018f8632e09e3a617c9fc2efbbdaa2922d2fe7",
        "bd50f8924c684f84416fb58c11eb24619b041f25",
        "89e984e2c2cd14f77ccb26c47726ac7f13b70ae8",
        "0b307043049f34211affdde46f82e7abbe8c4590",
        "8dd87fba939370e729b0ee72c163f279d310de06",
        "520b3ee70527cb47f0b08ceb25ace02aed71eab7",
        "683b159a2eef6544d49020eb9c88a94157df7d2d",
        "a776ce7cfc905a1f8ebf9f7e87f0ba705e7efaef"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 19 09:50:33 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 19 09:50:33 2012 -0700"
      },
      "message": "Merge branches \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027ehca\u0027, \u0027iser\u0027, \u0027mad\u0027, \u0027nes\u0027, \u0027qib\u0027, \u0027srp\u0027 and \u0027srpt\u0027 into for-next\n"
    },
    {
      "commit": "187e70a554e0f0717a65998bc9199945cbbd4692",
      "tree": "c328e72d485b172e5d4e8a283ea5252654dd7676",
      "parents": [
        "ee9b866a3696ae434418348e2f499c41841366d4"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 20:12:36 2012 -0700"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 17 22:13:48 2012 -0700"
      },
      "message": "ib_srpt: Fix srpt_handle_cmd send_ioctx-\u003eioctx_kref leak on exception\n\nThis patch addresses a bug in srpt_handle_cmd() failure handling where\nsend_ioctx-\u003ekref is being leaked with the local extra reference after init,\ncausing the expected kref_put() in srpt_handle_send_comp() to not be the final\ncall to invoke srpt_put_send_ioctx_kref() -\u003e transport_generic_free_cmd() and\nperform se_cmd descriptor memory release.\n\nIt also fixes a SCF_SCSI_RESERVATION_CONFLICT handling bug where this code\nis incorrectly falling through to transport_handle_cdb_direct() after\ninvoking srpt_queue_status() to send SAM_STAT_RESERVATION_CONFLICT status.\n\nNote this patch is for \u003e\u003d v3.3 mainline code, and current lio-core.git\ncode has already been converted to target_submit_cmd() + se_cmd-\u003ecmd_kref usage,\nand internal ioctx-\u003ekref usage has been removed.  I\u0027m including this patch\nnow into target-pending/for-next with a CC\u0027 for v3.3 stable.\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "42872c7a5ed8d3ed49f51cb783978ca50369c564",
      "tree": "0deea7b61c163e6997a4634ab4ee310014984688",
      "parents": [
        "d927d505c59a0c7353343174e6225c43c61fba6d",
        "db5a7a65c05867cb6ff5cb6d556a0edfce631d2d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "message": "Merge branches \u0027misc\u0027 and \u0027mlx4\u0027 into for-next\n\nConflicts:\n\tdrivers/infiniband/hw/mlx4/main.c\n\tdrivers/net/ethernet/mellanox/mlx4/main.c\n\tinclude/linux/mlx4/device.h\n"
    },
    {
      "commit": "a9c766bb75ee2caad2735e41784387784ffd87db",
      "tree": "8dbc6a8fe8e2b6853f817b029d34dbcf856d0684",
      "parents": [
        "3616f9cead935d4e4c35915600d5e4d1384219cd"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jan 11 19:00:29 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "IB/mlx4: Fix info returned when querying IBoE ports\n\nTo issue a port query, use the QUERY_(Ethernet)_PORT command instead\nof the MAD_IFC command, since MAD_IFC attempts to query the firmware\nIB SMA, which is irrelevant for IBoE ports.\n\nThis allows us to handle both 10Gb/s and 40Gb/s rates (e.g in sysfs),\nusing QDR speed (10Gb/s) and width of 1X or 4X.\n\nSigned-off-by: Dotan Barak \u003cdotanb@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3616f9cead935d4e4c35915600d5e4d1384219cd",
      "tree": "b82899b32ce3c64195195351358267764e535c04",
      "parents": [
        "5984be90046fa978d94a5ec08bbf8f760cff2b30"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.com",
        "time": "Tue Mar 06 15:50:51 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "IB/mlx4: Fix possible missed completion event\n\nIf an erroneous CQE is polled in the first iteration (i.e. npolled \u003d\u003d\n0), we don\u0027t update the consumer index and hence the hardware could\nget a wrong notion of how many CQEs software polled.  Fix this by\nunconditionally updating the doorbell record.  We could change the\ncheck to be something like\n\n\tif (npolled || err !\u003d -EAGAIN)\n\t\t...\n\nbut it does not seem worth the effort since a posted write to memory\nshould not cost too much.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c7ec05c82bfd6acf1fd800d628591500805f3179",
      "tree": "c64d5d330120d038f5ee9fe90b7a7eba0a0b3459",
      "parents": [
        "99367f01b8df2018ff3328ddf4111e701d34188d"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Tue Feb 28 00:22:12 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Mar 10 14:42:55 2012 -0800"
      },
      "message": "target: Drop unused legacy target_core_fabric_ops API callers\n\nThis patch drops the following unused legacy API callers from target_core_fabric.h:\n\n*) TFO-\u003efall_back_to_erl0()\n*) TFO-\u003estop_session()\n*) TFO-\u003esess_logged_in()\n*) TFO-\u003eis_state_remove()\n\nThis patch also removes the stub usage in loopback, tcm_fc, iscsi_target,\nand ib_srpt fabric modules.\n\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "d927d505c59a0c7353343174e6225c43c61fba6d",
      "tree": "8fe928291acb9c6975f7c03514566933edeef7d5",
      "parents": [
        "3eae7c9f97415ac1f5ab5db4eeb03cde689eb427"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jan 11 19:03:51 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Mar 08 12:34:27 2012 -0800"
      },
      "message": "IB: Change CQE \"csum_ok\" field to a bit flag\n\nUse a bit in wc_flags rather then a whole integer to hold the\n\"checksum OK\" flag.  By itself, this change doesn\u0027t reduce the size of\nstruct ib_wc on 64bit machines -- it stays on 56 bytes because of\npadding.  However, it will allow to add more fields in the future\nwithout enlarging the struct.  Also, it will let us have a unified\napproach with future libibverbs checksum offload reporting, because a\nbit flag doesn\u0027t break the library ABI.\n\nThis patch was suggested during conversation with Liran Liss\n\u003cliranl@mellanox.com\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nReviewed-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "3eae7c9f97415ac1f5ab5db4eeb03cde689eb427",
      "tree": "fa29c0cc9e465395808607cc9506445ba7473729",
      "parents": [
        "8154c07fe14e387c5a7c7f2eb70534813634e45e"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Wed Mar 07 16:48:11 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 07 15:14:53 2012 -0800"
      },
      "message": "RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state\n\nWhen destroying a listening cmid, the iwcm first marks the state of\nthe cmid as DESTROYING, then releases the lock and calls into the\niWARP provider to destroy the endpoint.  Since the cmid is not locked,\nits possible for the iWARP provider to pass a connection request event\nto the iwcm, which will be silently dropped by the iwcm.  This causes\nthe iWARP provider to never free up the resources from this connection\nbecause the assumption is the iwcm will accept or reject this connection.\n\nThe solution is to reject these connection requests.\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "db4106ce635830201fad1bfca731a635beab6a72",
      "tree": "344aead8f592bdab67bc395213d0ddda0fe88bc5",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Steve Wise",
        "email": "swise@opengridcomputing.com",
        "time": "Wed Mar 07 16:48:46 2012 -0600"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Mar 07 15:12:45 2012 -0800"
      },
      "message": "RDMA/cxgb3: Don\u0027t pass irq flags to flush_qp()\n\nSince flush_qp() is always called with irqs disabled, all the locking\ninside flush_qp() and __flush_qp() doesn\u0027t need irq save/restore.\n\nFurther, passing the flag variable from iwch_modify_qp() is just wrong\nand causes a WARN_ON() in local_bh_enable().\n\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8154c07fe14e387c5a7c7f2eb70534813634e45e",
      "tree": "04a62c867cb09976b415e8d6e04d41f0c2e793e1",
      "parents": [
        "2e96691c31ecf749f48aa94ea837b95dd656f5c2"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Mar 06 15:50:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 06 17:25:18 2012 -0800"
      },
      "message": "mlx4_core: Get rid of redundant ext_port_cap flags\n\nWhile doing the work for commit a6f7feae6d (\"IB/mlx4: pass SMP\nvendor-specific attribute MADs to firmware\") we realized that the\nfirmware would respond on all sorts of vendor-specific MADs.\nTherefore commit 97285b7817 (\"mlx4_core: Add extended port\ncapabilities support\") adds redundant code into the driver, since\nthere\u0027s no real reaon to maintain the extended capabilities of the\nport, as they can be queried on demand (e.g the FDR10 capability).\n\nThis patch reverts commit 97285b7817 and removes the check for\nextended caps from the mlx4_ib driver port query flow.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "186834b5de69a89ba6cc846e7259451ced689b64",
      "tree": "805956214ca42d697264938080d362d1384f9dd6",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Hefty, Sean",
        "email": "sean.hefty@intel.com",
        "time": "Fri Mar 02 00:01:19 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 12:27:57 2012 -0800"
      },
      "message": "RDMA/ucma: Fix AB-BA deadlock\n\nWhen we destroy a cm_id, we must purge associated events from the\nevent queue.  If the cm_id is for a listen request, we also purge\ncorresponding pending connect requests.  This requires destroying\nthe cm_id\u0027s associated with the connect requests by calling\nrdma_destroy_id().  rdma_destroy_id() blocks until all outstanding\ncallbacks have completed.\n\nThe issue is that we hold file-\u003emut while purging events from the\nevent queue.  We also acquire file-\u003emut in our event handler.  Calling\nrdma_destroy_id() while holding file-\u003emut can lead to a deadlock,\nsince the event handler callback cannot acquire file-\u003emut, which\nprevents rdma_destroy_id() from completing.\n\nFix this by moving events to purge from the event queue to a temporary\nlist.  We can then release file-\u003emut and call rdma_destroy_id()\noutside of holding any locks.\n\nBug report by Or Gerlitz \u003cogerlitz@mellanox.com\u003e:\n\n    [ INFO: possible circular locking dependency detected ]\n    3.3.0-rc5-00008-g79f1e43-dirty #34 Tainted: G          I\n\n    tgtd/9018 is trying to acquire lock:\n     (\u0026id_priv-\u003ehandler_mutex){+.+.+.}, at: [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n\n    but task is already holding lock:\n     (\u0026file-\u003emut){+.+.+.}, at: [\u003cffffffffa02470fe\u003e] ucma_free_ctx+0xb6/0x196 [rdma_ucm]\n\n    which lock already depends on the new lock.\n\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #1 (\u0026file-\u003emut){+.+.+.}:\n           [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n           [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n           [\u003cffffffffa0247636\u003e] ucma_event_handler+0x148/0x1dc [rdma_ucm]\n           [\u003cffffffffa035a79a\u003e] cma_ib_handler+0x1a7/0x1f7 [rdma_cm]\n           [\u003cffffffffa0333e88\u003e] cm_process_work+0x32/0x119 [ib_cm]\n           [\u003cffffffffa03362ab\u003e] cm_work_handler+0xfb8/0xfe5 [ib_cm]\n           [\u003cffffffff810423e2\u003e] process_one_work+0x2bd/0x4a6\n           [\u003cffffffff810429e2\u003e] worker_thread+0x1d6/0x350\n           [\u003cffffffff810462a6\u003e] kthread+0x84/0x8c\n           [\u003cffffffff81369624\u003e] kernel_thread_helper+0x4/0x10\n\n    -\u003e #0 (\u0026id_priv-\u003ehandler_mutex){+.+.+.}:\n           [\u003cffffffff81067b86\u003e] __lock_acquire+0x10d5/0x1752\n           [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n           [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n           [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n           [\u003cffffffffa024715f\u003e] ucma_free_ctx+0x117/0x196 [rdma_ucm]\n           [\u003cffffffffa0247255\u003e] ucma_close+0x77/0xb4 [rdma_ucm]\n           [\u003cffffffff810df6ef\u003e] fput+0x117/0x1cf\n           [\u003cffffffff810dc76e\u003e] filp_close+0x6d/0x78\n           [\u003cffffffff8102b667\u003e] put_files_struct+0xbd/0x17d\n           [\u003cffffffff8102b76d\u003e] exit_files+0x46/0x4e\n           [\u003cffffffff8102d057\u003e] do_exit+0x299/0x75d\n           [\u003cffffffff8102d599\u003e] do_group_exit+0x7e/0xa9\n           [\u003cffffffff8103ae4b\u003e] get_signal_to_deliver+0x536/0x555\n           [\u003cffffffff81001717\u003e] do_signal+0x39/0x634\n           [\u003cffffffff81001d39\u003e] do_notify_resume+0x27/0x69\n           [\u003cffffffff81361c03\u003e] retint_signal+0x46/0x83\n\n    other info that might help us debug this:\n\n     Possible unsafe locking scenario:\n\n           CPU0                    CPU1\n           ----                    ----\n      lock(\u0026file-\u003emut);\n                                   lock(\u0026id_priv-\u003ehandler_mutex);\n                                   lock(\u0026file-\u003emut);\n      lock(\u0026id_priv-\u003ehandler_mutex);\n\n     *** DEADLOCK ***\n\n    1 lock held by tgtd/9018:\n     #0:  (\u0026file-\u003emut){+.+.+.}, at: [\u003cffffffffa02470fe\u003e] ucma_free_ctx+0xb6/0x196 [rdma_ucm]\n\n    stack backtrace:\n    Pid: 9018, comm: tgtd Tainted: G          I  3.3.0-rc5-00008-g79f1e43-dirty #34\n    Call Trace:\n     [\u003cffffffff81029e9c\u003e] ? console_unlock+0x18e/0x207\n     [\u003cffffffff81066433\u003e] print_circular_bug+0x28e/0x29f\n     [\u003cffffffff81067b86\u003e] __lock_acquire+0x10d5/0x1752\n     [\u003cffffffff810682f3\u003e] lock_acquire+0xf0/0x116\n     [\u003cffffffffa0359a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff8135f179\u003e] mutex_lock_nested+0x64/0x2e6\n     [\u003cffffffffa0359a41\u003e] ? rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffff8106546d\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffffa0359a41\u003e] rdma_destroy_id+0x33/0x1f0 [rdma_cm]\n     [\u003cffffffffa024715f\u003e] ucma_free_ctx+0x117/0x196 [rdma_ucm]\n     [\u003cffffffffa0247255\u003e] ucma_close+0x77/0xb4 [rdma_ucm]\n     [\u003cffffffff810df6ef\u003e] fput+0x117/0x1cf\n     [\u003cffffffff810dc76e\u003e] filp_close+0x6d/0x78\n     [\u003cffffffff8102b667\u003e] put_files_struct+0xbd/0x17d\n     [\u003cffffffff8102b5cc\u003e] ? put_files_struct+0x22/0x17d\n     [\u003cffffffff8102b76d\u003e] exit_files+0x46/0x4e\n     [\u003cffffffff8102d057\u003e] do_exit+0x299/0x75d\n     [\u003cffffffff8102d599\u003e] do_group_exit+0x7e/0xa9\n     [\u003cffffffff8103ae4b\u003e] get_signal_to_deliver+0x536/0x555\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffff81001717\u003e] do_signal+0x39/0x634\n     [\u003cffffffff8135e037\u003e] ? printk+0x3c/0x45\n     [\u003cffffffff8106546d\u003e] ? trace_hardirqs_on_caller+0x11e/0x155\n     [\u003cffffffff810654b1\u003e] ? trace_hardirqs_on+0xd/0xf\n     [\u003cffffffff81361803\u003e] ? _raw_spin_unlock_irq+0x2b/0x40\n     [\u003cffffffff81039011\u003e] ? set_current_blocked+0x44/0x49\n     [\u003cffffffff81361bce\u003e] ? retint_signal+0x11/0x83\n     [\u003cffffffff81001d39\u003e] do_notify_resume+0x27/0x69\n     [\u003cffffffff8118a1fe\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n     [\u003cffffffff81361c03\u003e] retint_signal+0x46/0x83\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "bd50f8924c684f84416fb58c11eb24619b041f25",
      "tree": "1663476c9a64c9bc9afd900b79404523936aaea5",
      "parents": [
        "6aeaa48b0dd3a4261804be1cccaea46d82be3fcb"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kmcmartin@redhat.com",
        "time": "Mon Feb 27 17:02:56 2012 -0500"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 10:12:35 2012 -0800"
      },
      "message": "IB/ehca: Fix ilog2() compile failure\n\nI\u0027m getting compile failures building this driver, which I narrowed\ndown to the ilog2 call in ehca_get_max_hwpage_size...\n\n    ERROR: \".____ilog2_NaN\" [drivers/infiniband/hw/ehca/ib_ehca.ko]\n    undefined!\n    make[1]: *** [__modpost] Error 1\n    make: *** [modules] Error 2\n\nThe use of shca-\u003ehca_cap_mr_pgsize is confusing the compiler, and\nresulting in the __builtin_constant_p in ilog2 going insane.\n\nI tried making it take the u32 pgsize as an argument and the expansion\nof shca-\u003e_pgsize in the caller, but that failed as well.\n\nWith this patch in place, the driver compiles on my GCC 4.6.2 here.\n\nSuggested-by: Roland Dreier \u003croland@purestorage.com\u003e\nSigned-off-by: Kyle McMartin \u003ckmcmarti@redhat.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2e96691c31ecf749f48aa94ea837b95dd656f5c2",
      "tree": "5e2bfaf522d66bc23c1ec0490fb3364c09aad4f2",
      "parents": [
        "e9319b0cb00d4d68792fdae37e81e316cb632cb9"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Feb 28 18:49:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 09:25:16 2012 -0800"
      },
      "message": "IB: Use central enum for speed instead of hard-coded values\n\nThe kernel IB stack uses one enumeration for IB speed, which wasn\u0027t\nexplicitly specified in the verbs header file.  Add that enum, and use\nit all over the code.\n\nThe IB speed/width notation is also used by iWARP and IBoE HW drivers,\nwhich use the convention of rate \u003d speed * width to advertise their\nport link rate.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "89e984e2c2cd14f77ccb26c47726ac7f13b70ae8",
      "tree": "e628854190ad60fc8890318236a3ec395b8b94bb",
      "parents": [
        "d474186f19d7ac1c7fbb293fdcfa46103e45e2ca"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Mon Mar 05 18:21:44 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 08:53:05 2012 -0800"
      },
      "message": "IB/iser: Post initial receive buffers before sending the final login request\n\nAn iser target may send iscsi NO-OP PDUs as soon as it marks the iSER\niSCSI session as fully operative.  This means that there is window\nwhere there are no posted receive buffers on the initiator side, so\nit\u0027s possible for the iSER RC connection to break because of RNR NAK /\nretry errors.  To fix this, rely on the flags bits in the login\nrequest to have FFP (0x3) in the lower nibble as a marker for the\nfinal login request, and post an initial chunk of receive buffers\nbefore sending that login request instead of after getting the login\nresponse.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "d474186f19d7ac1c7fbb293fdcfa46103e45e2ca",
      "tree": "ba5eb32ddc42e99dd3600cd7a972cb31ecdf1e61",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu Mar 01 19:55:21 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 05 00:23:27 2012 -0800"
      },
      "message": "IB/iser: Free IB connection resources in the proper place\n\nWe allocate the login dma buffers in iser_verbs.c as part of\nalloc_ib_conn_resources(), however we are freeing them in\niser_initiator.c as part of iser_free_rx_descriptors().  This is\nneedlessly confusing.  We have an alloc_rx_descriptors() and it\ndoesn\u0027t alloc something that the free_rx_descriptors() frees, and we\nhave an alloc_ib_conn_resources() that allocs something not freed by\nfree_ib_conn_resources().  Clean that up.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\n\n[ Fix build error in iser_free_ib_conn_res().  - Or ]\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "683b159a2eef6544d49020eb9c88a94157df7d2d",
      "tree": "75c7ba070482711796f70af035e873dd6af7dc25",
      "parents": [
        "e0bda7d8c33e60fb08cc0b5522cd86346313722c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat Jan 14 12:40:44 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:27:57 2012 -0800"
      },
      "message": "IB/srp: Consolidate repetitive sysfs code\n\nRemove sysfs attributes before removing a target instead of testing\nthe target state in every sysfs attribute callback method. Note: it is\nsafe to invoke a sysfs attribute removal method like\ndevice_remove_file() twice on the same attribute.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e0bda7d8c33e60fb08cc0b5522cd86346313722c",
      "tree": "cd5f1501be4ffddb4819059893d12e094fea9c9c",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sat Jan 14 12:39:44 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:26:30 2012 -0800"
      },
      "message": "IB/srp: Use pr_fmt() and pr_err()/pr_warn()\n\nUse pr_fmt() and pr_xxx() instead of more verbose printk() equivalents.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nAcked-by: David Dillow \u003cdillowda@ornl.gov\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e9319b0cb00d4d68792fdae37e81e316cb632cb9",
      "tree": "9947cf3123745e0cab9c587566a00a14e949459f",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:15:08 2012 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Feb 27 09:15:08 2012 -0800"
      },
      "message": "IB/core: Fix SDR rates in sysfs\n\nCommit 71eeba16 (\"IB: Add new InfiniBand link speeds\") introduced a bug \nwhere eg the rate for IB 4X SDR links iss displayed as \"8.5 Gb/sec\" \ninstead of \"10 Gb/sec\" as it used to be.  Fix that.\n\nReported-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "80d326fab534a5380e8f6e509a0b9076655a9670",
      "tree": "57c636de934b3f8abb7db9bcde64360ecc4eaf66",
      "parents": [
        "48e316bc2e045206248c6c75c0d5bbc0c9ddc32c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Feb 24 14:30:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 14:10:06 2012 -0500"
      },
      "message": "netlink: add netlink_dump_control structure for netlink_dump_start()\n\nDavem considers that the argument list of this interface is getting\nout of control. This patch tries to address this issue following\nhis proposal:\n\nstruct netlink_dump_control c \u003d { .dump \u003d dump, .done \u003d done, ... };\n\nnetlink_dump_start(..., \u0026c);\n\nSuggested by David S. Miller.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5bbe892da9441835cb6fece26d9bbd95fc820be",
      "tree": "2642ee58996918ae4a09be9d82d97a6516eb215b",
      "parents": [
        "4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 09 18:10:06 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Feb 26 01:43:37 2012 -0800"
      },
      "message": "mlx4: Enforce device max FMR maps in FMR alloc\n\nConnectX devices have a limit on the number of mappings that can be\ndone on an FMR before having to call sync_tpt.  The current\nmlx4_ib driver reports the limit correctly in max_map_per_fmr in\n.query_device(), but mlx4_core doesn\u0027t check it when actually\nallocating FMRs.\n\nAdd a max_fmr_maps field to struct mlx4_caps and enforce this maximum\nvalue on FMR allocations.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70",
      "tree": "529ac43cf579467c0552fcd102bd8c5764472786",
      "parents": [
        "6b21d18ed50c7d145220b0724ea7f2613abf0f95"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 09 18:52:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Feb 26 01:37:30 2012 -0800"
      },
      "message": "IB/mlx4: Set bad_wr for invalid send opcode\n\nIf the opcode of a work request exceeds the range of valid opcodes,\nreturn the pointer to the offending work request.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    }
  ],
  "next": "a776ce7cfc905a1f8ebf9f7e87f0ba705e7efaef"
}
