)]}'
{
  "log": [
    {
      "commit": "475c77edf826333aa61625f49d6a2bec26ecb5a6",
      "tree": "8e1c6c319e347cd3c649fdb0b3ab45971c6b19e7",
      "parents": [
        "934e18b5cb4531cc6e81865bf54115cfd21d1ac6",
        "1488d5158dcd612fcdaf6b642451b026ee8bbcbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 14:02:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 14:02:12 2012 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\nPull PCI changes (including maintainer change) from Jesse Barnes:\n \"This pull has some good cleanups from Bjorn and Yinghai, as well as\n  some more code from Yinghai to better handle resource re-allocation\n  when enabled.\n\n  There\u0027s also a new initcall_debug feature from Arjan which will print\n  out quirk timing information to help identify slow quirks for fixing\n  or refinement (Yinghai sent in a few patches to do just that once the\n  new debug code landed).\n\n  Beyond that, I\u0027m handing off PCI maintainership to Bjorn Helgaas.\n  He\u0027s been a core PCI and Linux contributor for some time now, and has\n  kindly volunteered to take over.  I just don\u0027t feel I have the time\n  for PCI review and work that it deserves lately (I\u0027ve taken on some\n  other projects), and haven\u0027t been as responsive lately as I\u0027d like, so\n  I approached Bjorn asking if he\u0027d like to manage things.  He\u0027s going\n  to give it a try, and I\u0027m confident he\u0027ll do at least as well as I\n  have in keeping the tree managed, patches flowing, and keeping things\n  stable.\"\n\nFix up some fairly trivial conflicts due to other cleanups (mips device\nresource fixup cleanups clashing with list handling cleanup, ppc iseries\nremoval clashing with pci_probe_only cleanup etc)\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (112 commits)\n  PCI: Bjorn gets PCI hotplug too\n  PCI: hand PCI maintenance over to Bjorn Helgaas\n  unicore32/PCI: move \u003casm-generic/pci-bridge.h\u003e include to asm/pci.h\n  sparc/PCI: convert devtree and arch-probed bus addresses to resource\n  powerpc/PCI: allow reallocation on PA Semi\n  powerpc/PCI: convert devtree bus addresses to resource\n  powerpc/PCI: compute I/O space bus-to-resource offset consistently\n  arm/PCI: don\u0027t export pci_flags\n  PCI: fix bridge I/O window bus-to-resource conversion\n  x86/PCI: add spinlock held check to \u0027pcibios_fwaddrmap_lookup()\u0027\n  PCI / PCIe: Introduce command line option to disable ARI\n  PCI: make acpihp use __pci_remove_bus_device instead\n  PCI: export __pci_remove_bus_device\n  PCI: Rename pci_remove_behind_bridge to pci_stop_and_remove_behind_bridge\n  PCI: Rename pci_remove_bus_device to pci_stop_and_remove_bus_device\n  PCI: print out PCI device info along with duration\n  PCI: Move \"pci reassigndev resource alignment\" out of quirks.c\n  PCI: Use class for quirk for usb host controller fixup\n  PCI: Use class for quirk for ti816x class fixup\n  PCI: Use class for quirk for intel e100 interrupt fixup\n  ...\n"
    },
    {
      "commit": "934e18b5cb4531cc6e81865bf54115cfd21d1ac6",
      "tree": "c9e9398648f8be6948f41bf879e8962812418088",
      "parents": [
        "a20ae85abaefb02cc0edf19c34f78d19437c1cf1",
        "8a78335442cea429afb2b964318b6e257448ea00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 10:07:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 10:07:16 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) L2TP doesn\u0027t get autoloaded when you try to open an L2TP socket due\n    to a missing module alias, fix from Benjamin LaHaise.\n\n 2) Netlabel and RDS should propagate gfp flags given to them by\n    callers, fixes from Dan Carpeneter.\n\n 3) Recursive locking fix in usbnet wasn\u0027t bulletproof and can result in\n    objects going away mid-flight due to races, fix from Ming Lei.\n\n 4) Fix up some confusion about a bool module parameter in netfilter\u0027s\n    iptable_filter and ip6table_filter, from Rusty Russell.\n\n 5) If SKB recycling is used via napi_reuse_skb() we end up with\n    different amounts of headroom reserved than we had at the original\n    SKB allocation.  Fix from Eric Dumazet.\n\n 6) Fix races in TG3 driver ring refilling, from Michael Chan.\n\n 7) We have callbacks for IPSEC replay notifiers, but some call sites\n    were not using the ops method and instead were calling one of the\n    implementations directly.  Oops.  Fix from Steffen Klassert.\n\n 8) Fix IP address validation properly in the bonding driver, the\n    previous fix only works with netlink where the subnet mask and IP\n    address are changed in one atomic operation.  When \u0027ifconfig\u0027 ioctls\n    are used the IP address and the subnet mask are changed in two\n    distinct operations.  Fix from Andy Gospodarek.\n\n 9) Provide a sky2 module operation to work around power management\n    issues with some BIOSes.  From Stephen Hemminger.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  usbnet: consider device busy at each recieved packet\n  bonding: remove entries for master_ip and vlan_ip and query devices instead\n  netfilter: remove forward module param confusion.\n  usbnet: don\u0027t clear urb-\u003edev in tx_complete\n  usbnet: increase URB reference count before usb_unlink_urb\n  xfrm: Access the replay notify functions via the registered callbacks\n  xfrm: Remove unused xfrm_state from xfrm_state_check_space\n  RDS: use gfp flags from caller in conn_alloc()\n  netlabel: use GFP flags from caller instead of GFP_ATOMIC\n  l2tp: enable automatic module loading for l2tp_ppp\n  cnic: Fix parity error code conflict\n  tg3: Fix RSS ring refill race condition\n  sky2: override for PCI legacy power management\n  net: fix napi_reuse_skb() skb reserve\n"
    },
    {
      "commit": "424a6f6ef990b7e9f56f6627bfc6c46b493faeb4",
      "tree": "0028356ed8003495fbbe1f716f359e3c8ebc35b6",
      "parents": [
        "1ab142d499294b844ecc81e8004db4ce029b0b61",
        "cd8df932d894f3128c884e3ae1b2b484540513db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 12:55:29 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\nSCSI updates from James Bottomley:\n \"The update includes the usual assortment of driver updates (lpfc,\n  qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge\n  amount of infrastructure work in the SAS library and transport class\n  as well as an iSCSI update.  There\u0027s also a new SCSI based virtio\n  driver.\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (177 commits)\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k15\n  [SCSI] qla4xxx: trivial cleanup\n  [SCSI] qla4xxx: Fix sparse warning\n  [SCSI] qla4xxx: Add support for multiple session per host.\n  [SCSI] qla4xxx: Export CHAP index as sysfs attribute\n  [SCSI] scsi_transport: Export CHAP index as sysfs attribute\n  [SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry\n  [SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry\n  [SCSI] pm8001: fix endian issue with code optimization.\n  [SCSI] pm8001: Fix possible racing condition.\n  [SCSI] pm8001: Fix bogus interrupt state flag issue.\n  [SCSI] ipr: update PCI ID definitions for new adapters\n  [SCSI] qla2xxx: handle default case in qla2x00_request_firmware()\n  [SCSI] isci: improvements in driver unloading routine\n  [SCSI] isci: improve phy event warnings\n  [SCSI] isci: debug, provide state-enum-to-string conversions\n  [SCSI] scsi_transport_sas: \u0027enable\u0027 phys on reset\n  [SCSI] libsas: don\u0027t recover end devices attached to disabled phys\n  [SCSI] libsas: fixup target_port_protocols for expanders that don\u0027t report sata\n  [SCSI] libsas: set attached device type and target protocols for local phys\n  ...\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": "8ec3e70207486bbd3e2d3c0d6b809116ccd4f219",
      "tree": "bda290a8c461fe639fe99a7210e75615c1bef03d",
      "parents": [
        "7ae5289017e5ed5514b2603d157fb54c058a3c82"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Wed Mar 21 15:38:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 21:57:36 2012 -0400"
      },
      "message": "cnic: Fix parity error code conflict\n\nThe recently added parity error handling used an error code that was\nalready defined for a different error.  This could lead to bnx2x\nfirmware assert.  We need to fix this with new error codes that are\ndefined for parity error only.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nReviewed-by: Eddie Wai \u003ceddie.wai@broadcom.com\u003e\nReviewed-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5375871d432ae9fc581014ac117b96aaee3cd0c7",
      "tree": "be98e8255b0f927fb920fb532a598b93fa140dbe",
      "parents": [
        "b57cb7231b2ce52d3dda14a7b417ae125fb2eb97",
        "dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 18:55:10 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nPull powerpc merge from Benjamin Herrenschmidt:\n \"Here\u0027s the powerpc batch for this merge window.  It is going to be a\n  bit more nasty than usual as in touching things outside of\n  arch/powerpc mostly due to the big iSeriesectomy :-) We finally got\n  rid of the bugger (legacy iSeries support) which was a PITA to\n  maintain and that nobody really used anymore.\n\n  Here are some of the highlights:\n\n   - Legacy iSeries is gone.  Thanks Stephen ! There\u0027s still some bits\n     and pieces remaining if you do a grep -ir series arch/powerpc but\n     they are harmless and will be removed in the next few weeks\n     hopefully.\n\n   - The \u0027fadump\u0027 functionality (Firmware Assisted Dump) replaces the\n     previous (equivalent) \"pHyp assisted dump\"...  it\u0027s a rewrite of a\n     mechanism to get the hypervisor to do crash dumps on pSeries, the\n     new implementation hopefully being much more reliable.  Thanks\n     Mahesh Salgaonkar.\n\n   - The \"EEH\" code (pSeries PCI error handling \u0026 recovery) got a big\n     spring cleaning, motivated by the need to be able to implement a\n     new backend for it on top of some new different type of firwmare.\n\n     The work isn\u0027t complete yet, but a good chunk of the cleanups is\n     there.  Note that this adds a field to struct device_node which is\n     not very nice and which Grant objects to.  I will have a patch soon\n     that moves that to a powerpc private data structure (hopefully\n     before rc1) and we\u0027ll improve things further later on (hopefully\n     getting rid of the need for that pointer completely).  Thanks Gavin\n     Shan.\n\n   - I dug into our exception \u0026 interrupt handling code to improve the\n     way we do lazy interrupt handling (and make it work properly with\n     \"edge\" triggered interrupt sources), and while at it found \u0026 fixed\n     a wagon of issues in those areas, including adding support for page\n     fault retry \u0026 fatal signals on page faults.\n\n   - Your usual random batch of small fixes \u0026 updates, including a bunch\n     of new embedded boards, both Freescale and APM based ones, etc...\"\n\nI fixed up some conflicts with the generalized irq-domain changes from\nGrant Likely, hopefully correctly.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (141 commits)\n  powerpc/ps3: Do not adjust the wrapper load address\n  powerpc: Remove the rest of the legacy iSeries include files\n  powerpc: Remove the remaining CONFIG_PPC_ISERIES pieces\n  init: Remove CONFIG_PPC_ISERIES\n  powerpc: Remove FW_FEATURE ISERIES from arch code\n  tty/hvc_vio: FW_FEATURE_ISERIES is no longer selectable\n  powerpc/spufs: Fix double unlocks\n  powerpc/5200: convert mpc5200 to use of_platform_populate()\n  powerpc/mpc5200: add options to mpc5200_defconfig\n  powerpc/mpc52xx: add a4m072 board support\n  powerpc/mpc5200: update mpc5200_defconfig to fit for charon board\n  Documentation/powerpc/mpc52xx.txt: Checkpatch cleanup\n  powerpc/44x: Add additional device support for APM821xx SoC and Bluestone board\n  powerpc/44x: Add support PCI-E for APM821xx SoC and Bluestone board\n  MAINTAINERS: Update PowerPC 4xx tree\n  powerpc/44x: The bug fixed support for APM821xx SoC and Bluestone board\n  powerpc: document the FSL MPIC message register binding\n  powerpc: add support for MPIC message register API\n  powerpc/fsl: Added aliased MSIIR register address to MSI node in dts\n  powerpc/85xx: mpc8548cds - add 36-bit dts\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": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "ed378a52dabf77b406b447fd3238f83ea24b71fa",
      "tree": "07e1a7ec2d1c08767ee81b9910f5912b80502632",
      "parents": [
        "843ec558f91b8e8fdb6efc908f2c0506407cc750",
        "11207b6fe05438b2e87a26435cd98db3d55e6fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:26:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:26:30 2012 -0700"
      },
      "message": "Merge tag \u0027usb-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB merge for 3.4-rc1 from Greg KH:\n \"Here\u0027s the big USB merge for the 3.4-rc1 merge window.\n\n  Lots of gadget driver reworks here, driver updates, xhci changes, some\n  new drivers added, usb-serial core reworking to fix some bugs, and\n  other various minor things.\n\n  There are some patches touching arch code, but they have all been\n  acked by the various arch maintainers.\"\n\n* tag \u0027usb-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (302 commits)\n  net: qmi_wwan: add support for ZTE MF820D\n  USB: option: add ZTE MF820D\n  usb: gadget: f_fs: Remove lock is held before freeing checks\n  USB: option: make interface blacklist work again\n  usb/ub: deprecate \u0026 schedule for removal the \"Low Performance USB Block\" driver\n  USB: ohci-pxa27x: add clk_prepare/clk_unprepare calls\n  USB: use generic platform driver on ath79\n  USB: EHCI: Add a generic platform device driver\n  USB: OHCI: Add a generic platform device driver\n  USB: ftdi_sio: new PID: LUMEL PD12\n  USB: ftdi_sio: add support for FT-X series devices\n  USB: serial: mos7840: Fixed MCS7820 device attach problem\n  usb: Don\u0027t make USB_ARCH_HAS_{XHCI,OHCI,EHCI} depend on USB_SUPPORT.\n  usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH\n  USB: ohci-nxp: Remove i2c_write(), use smbus\n  USB: ohci-nxp: Support for LPC32xx\n  USB: ohci-nxp: Rename symbols from pnx4008 to nxp\n  USB: OHCI-HCD: Rename ohci-pnx4008 to ohci-nxp\n  usb: gadget: Kconfig: fix typo for \u0027different\u0027\n  usb: dwc3: pci: fix another failure path in dwc3_pci_probe()\n  ...\n"
    },
    {
      "commit": "71e7ff2578c3bc67fd893a9ba7f69fd563f271de",
      "tree": "07f8f6e950f54f745857c6be07a5186fd68a74d2",
      "parents": [
        "4a52246302f01596f0edf7b4a3e6425e23479192",
        "bc01caf53da4de53361376734707336de8fff839"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:23:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:23:18 2012 -0700"
      },
      "message": "Merge tag \u0027staging-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\nPull big staging driver updates from Greg KH:\n \"Here is the big drivers/staging/ merge for 3.4-rc1\n\n  Lots of new driver updates here, with the addition of a few new ones,\n  and only one moving out of the staging tree to the \"real\" part of the\n  kernel (the hyperv scsi driver, acked by the scsi maintainer).\n\n  There are also loads of cleanups, fixes, and other minor things in\n  here, all self-contained in the drivers/staging/ tree.\n\n  Overall we reversed the recent trend by adding more lines than we\n  removed:\n   379 files changed, 37952 insertions(+), 14153 deletions(-)\"\n\n* tag \u0027staging-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (360 commits)\n  staging/zmem: Use lockdep_assert_held instead of spin_is_locked\n  Staging: rtl8187se: r8180_wx.c: Cleaned up comments\n  Staging: rtl8187se: r8180_wx.c: Removed old comments\n  Staging: rtl8187se: r8180_dm.c: Removed old comments\n  Staging: android: ram_console.c:\n  Staging: rtl8187se: r8180_dm.c: Fix comments\n  Staging: rtl8187se: r8180_dm.c: Fix spacing issues\n  Staging: rtl8187se: r8180_dm.c Fixed indentation issues\n  Staging: rtl8187se: r8180_dm.c: Fix brackets\n  Staging: rtl8187se: r8180_dm.c: Removed spaces before tab stop\n  staging: vme: fix section mismatches in linux-next 20120314\n  Staging: rtl8187se: r8180_core.c: Fix some long line issues\n  Staging: rtl8187se: r8180_core.c: Fix some spacing issues\n  Staging: rtl8187se: r8180_core.c: Removed trailing spaces\n  staging: mei: remove driver internal versioning\n  Staging: rtl8187se: r8180_core.c: Cleaned up if statement\n  staging: ozwpan depends on NET\n  staging: ozwpan: added maintainer for ozwpan driver\n  staging/mei: propagate error codes up in the write flow\n  drivers:staging:mei Fix some typos in staging/mei\n  ...\n"
    },
    {
      "commit": "77dfce076cbd76c04e90abff188d058cdbff78dd",
      "tree": "c2f1ac2dd386c68e6bf8dee8d996d0b6e36f9c73",
      "parents": [
        "4679026d783eb5ac90247bc466d66b817b213abf"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:23 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:19 2012 +0800"
      },
      "message": "scsi: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "cf64bc8f093581d0697b65ea8dd04bdd27a676b0",
      "tree": "1ed362ce0741169c3b4f6f5e574334279283d92a",
      "parents": [
        "cdbee74ce74cd66de42a6f6d0edfa74fa9a66f2a"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Fri Mar 16 23:08:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 19 17:37:35 2012 -0400"
      },
      "message": "fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n\nFix a bug when using \u0027ethtool -K ethx tx off\u0027 to turn off tx ip checksum,\nFCoE CRC offload should not be impacte. The skb_checksum_help() is needed\nonly if it\u0027s not FCoE traffic for ip checksum, regardless of ethtool toggling\nthe tx ip checksum on or off. Instead of using CHECKSUM_PARTIAL, we will\nuse CHECKSUM_UNNECESSARY as a proper indication to avoid sw ip checksum\non FCoE frames.\n\nRef. to original discussion thread:\nhttp://patchwork.ozlabs.org/patch/146567/\n\nCC: \"James E.J. Bottomley\" \u003cJBottomley@parallels.com\u003e\nCC: Robert Love \u003crobert.w.love@intel.com\u003e\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7a0d426f3e7ec321b8037238b6426566df36edb",
      "tree": "505e7d0264500db94534f1226684f78af7757289",
      "parents": [
        "fde7d9049e55ab85a390be7f415d74c9f62dd0f9",
        "b790f5d1260b4c962bd066cd34ae982943c27fe1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 12 09:13:31 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 12 09:13:31 2012 -0700"
      },
      "message": "Merge 3.3-rc7 into usb-next\n\nThis resolves the conflict with drivers/usb/host/ehci-fsl.h that\nhappened with changes in Linus\u0027s and this branch at the same time.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7834799a6c8fed36d06d6b78bfd17831ecfa93c4",
      "tree": "eee30cb0664c680b6e40d56e7787d5e31421ebdf",
      "parents": [
        "e92a665949f6fabd2d25708e00239866f91a644f"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Mar 07 18:35:38 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Mar 09 10:35:15 2012 +1100"
      },
      "message": "powerpc: remove the legacy iSeries part of ibmvscsi\n\nThe PowerPC legacy iSeries platform is being removed and this code is\nno longer selectable.  There is more clean up that can be done, but this\njust gets the old code out of the way.\n\nCc: \"James E.J. Bottomley\" \u003cJBottomley@parallels.com\u003e\nCc: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nCc: linux-scsi@vger.kernel.org\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f6a1ad4295f9291038380178d09978caf6982dd8",
      "tree": "7c35e8efe1812baca9c6b9674be1ee02a0495ec3",
      "parents": [
        "036dafa28da1e2565a8529de2ae663c37b7a0060",
        "f3969bf78f140f437f51787dfc2751943ba454d1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 05 21:16:26 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 05 21:16:26 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/vmxnet3/vmxnet3_drv.c\n\nSmall vmxnet3 conflict with header size bug fix in \u0027net\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9354f1b8e6c55c335d1c4fb10d0ae7a041935240",
      "tree": "98854146031952f226db78a5763b7bf28d310cde",
      "parents": [
        "9ce70c0240d01309b34712f87eda4fbfba3c3764"
      ],
      "author": {
        "name": "Muthu Kumar",
        "email": "muthu.lkml@gmail.com",
        "time": "Mon Mar 05 14:59:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 15:49:43 2012 -0800"
      },
      "message": "floppy/scsi: fix setting of BIO flags\n\nFix setting bio flags in drivers (sd_dif/floppy).\n\nSigned-off-by: Muthukumar R \u003cmuthur@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd8df932d894f3128c884e3ae1b2b484540513db",
      "tree": "869bb760c37af6988b266b65fb294c51115661cc",
      "parents": [
        "3573bfb2306b58b88adccaf95fa310c53d392903"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Mon Feb 27 03:08:58 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 17:03:03 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: Update driver version to 5.02.00-k15\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3573bfb2306b58b88adccaf95fa310c53d392903",
      "tree": "a8e6dc53ea60ffdb9b67a87c6267ca067c2bd9ca",
      "parents": [
        "a7380a65312c98317aab70df6512c620369c2f19"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Mon Feb 27 03:08:57 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 17:02:10 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: trivial cleanup\n\n1. Do not initialise globals to 0\n 2. Fix wrong spelling in debug message\n 3. Modified debug log messages\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a7380a65312c98317aab70df6512c620369c2f19",
      "tree": "57c2a82ad8d53de63df82b2a190e7910b6e52f05",
      "parents": [
        "173269ef2900bf824032103b98f3446375a4f8d9"
      ],
      "author": {
        "name": "Vikas Chaudhary",
        "email": "vikas.chaudhary@qlogic.com",
        "time": "Mon Feb 27 03:08:56 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 17:01:14 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: Fix sparse warning\n\nFix following warning:-\ndrivers/scsi/qla4xxx/ql4_os.c:35:5: warning: symbol \u0027ql4xdisablesysfsboot\u0027 was not declared. Should it be static?\n\ndrivers/scsi/qla4xxx/ql4_iocb.c:461:5: warning: symbol \u0027qla4xxx_send_mbox_iocb\u0027 was not declared. Should it be static?\n\ndrivers/scsi/qla4xxx/ql4_os.c:3025:6: warning: symbol \u0027qla4xxx_do_work\u0027 was not declared. Should it be static?\n\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "173269ef2900bf824032103b98f3446375a4f8d9",
      "tree": "a8a7970a69a89535e3f7f2f55428a75a512cf7c5",
      "parents": [
        "fca9f04d460bf7c6af397dd994f1d81a3037f9dc"
      ],
      "author": {
        "name": "Manish Rangankar",
        "email": "manish.rangankar@qlogic.com",
        "time": "Mon Feb 27 03:08:55 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 17:00:24 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: Add support for multiple session per host.\n\nThis patch will allow iscsiadm to create multiple session\nfor the same target on per host.\n\nSigned-off-by: Manish Rangankar \u003cmanish.rangankar@qlogic.com\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "fca9f04d460bf7c6af397dd994f1d81a3037f9dc",
      "tree": "5daa8c66f56c49d189e698511e067df795b915b2",
      "parents": [
        "30534952743f73f1de3c6c056400d7249f5c7f75"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Feb 27 03:08:54 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:59:19 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: Export CHAP index as sysfs attribute\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "30534952743f73f1de3c6c056400d7249f5c7f75",
      "tree": "c2a4dafebcff2ad4779f9e931be3d108bcef4844",
      "parents": [
        "376738af500aca83bcdd78fb4c8c71a51b27f5a3"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Mon Feb 27 03:08:53 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:58:18 2012 -0600"
      },
      "message": "[SCSI] scsi_transport: Export CHAP index as sysfs attribute\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "376738af500aca83bcdd78fb4c8c71a51b27f5a3",
      "tree": "97872a5f2dd3d177d930ba0beb9c66222d18a4dd",
      "parents": [
        "6260a5d221225f4e6befd98c6001325a3007a8c4"
      ],
      "author": {
        "name": "Nilesh Javali",
        "email": "nilesh.javali@qlogic.com",
        "time": "Mon Feb 27 03:08:52 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:57:20 2012 -0600"
      },
      "message": "[SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry\n\nFor offload iSCSI like qla4xxx CHAP entries are stored in FLASH.\nThis patch adds support to list CHAP entries stored in FLASH and\ndelete specified CHAP entry from FLASH using iscsi tools.\n\nSigned-off-by: Nilesh Javali \u003cnilesh.javali@qlogic.com\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6260a5d221225f4e6befd98c6001325a3007a8c4",
      "tree": "710ae4cf58f56124fba9b6781b87745ec1dba9fa",
      "parents": [
        "8270ee2abb78c73b73e04f2909b0de15540c9017"
      ],
      "author": {
        "name": "Nilesh Javali",
        "email": "nilesh.javali@qlogic.com",
        "time": "Mon Feb 27 03:08:51 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:55:59 2012 -0600"
      },
      "message": "[SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry\n\nFor offload iSCSI like qla4xxx CHAP entries are stored in FLASH.\nThis patch adds support to list CHAP entries stored in FLASH and\ndelete specified CHAP entry from FLASH using iscsi tools.\n\nSigned-off-by: Nilesh Javali \u003cnilesh.javali@qlogic.com\u003e\nSigned-off-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nReviewed-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8270ee2abb78c73b73e04f2909b0de15540c9017",
      "tree": "e5087044dd516f579309a1972dd574750badb307",
      "parents": [
        "50ec5babd3b9da274ac3e0d5ca0c4772e3c7bc8d"
      ],
      "author": {
        "name": "Santosh Nayak",
        "email": "santoshprasadnayak@gmail.com",
        "time": "Sun Feb 26 20:14:46 2012 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:54:09 2012 -0600"
      },
      "message": "[SCSI] pm8001: fix endian issue with code optimization.\n\n1. Fix endian issue.\n2. Fix the following warning :\n    \" drivers/scsi/pm8001/pm8001_hwi.c:2932:32: warning: comparison\n      between ‘enum sas_device_type’ and ‘enum sas_dev_type’\".\n3. Few code optimization.\n\nSigned-off-by: Santosh Nayak \u003csantoshprasadnayak@gmail.com\u003e\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "50ec5babd3b9da274ac3e0d5ca0c4772e3c7bc8d",
      "tree": "8f975cfed3e6bd9b1e15dd862bf8f7ad9dd9387d",
      "parents": [
        "bdaefbf580cd200ae3230b6aacd1f4f2dadb18e3"
      ],
      "author": {
        "name": "Santosh Nayak",
        "email": "santoshprasadnayak@gmail.com",
        "time": "Sun Feb 26 19:05:03 2012 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:52:59 2012 -0600"
      },
      "message": "[SCSI] pm8001: Fix possible racing condition.\n\nThere is a possble racing scenario.\n\n\u0027process_oq\u0027 is called by two routines, as shown below.\n\npm8001_8001_dispatch \u003d {\n         .......\n\n        .isr             \u003d pm8001_chip_isr --\u003e process_oq,// A\n        .isr_process_oq  \u003d process_oq,                   //  B\n        .....\n}\n\nprocess_oq() --\u003e process_one_iomb() --\u003e mpi_sata_completion()\n\nIn \u0027mpi_sata_completion\u0027, \"pm8001_ha-\u003elock\" is first released.\nIt means lock is taken before,  which is true for\nthe context A, as \u0027pm8001_ha-\u003elock\u0027 is taken in \u0027pm8001_chip_isr()\u0027\n\nBut for context B there is no lock taken before and pm8001_ha-\u003elock\nis unlocked in \u0027mpi_sata_completion()\u0027. This may unlock the lock\ntaken in context A. Possible racing ??\n\nIf \u0027pm8001_ha-\u003elock\u0027 is taken in \u0027process_oq()\u0027 instead of\n\u0027pm8001_chip_isr\u0027 then the above issue can be avoided.\n\nSigned-off-by: Santosh Nayak \u003csantoshprasadnayak@gmail.com\u003e\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "bdaefbf580cd200ae3230b6aacd1f4f2dadb18e3",
      "tree": "d916cbf8b7cd029699875d0776193d81a7883d03",
      "parents": [
        "cd9b3d04b4cae6bdfd639e603649777f819ed783"
      ],
      "author": {
        "name": "Santosh Nayak",
        "email": "santoshprasadnayak@gmail.com",
        "time": "Sun Feb 26 19:03:30 2012 +0530"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:49:55 2012 -0600"
      },
      "message": "[SCSI] pm8001: Fix bogus interrupt state flag issue.\n\nStatic checker is giving following warning:\n\" error: calling \u0027spin_unlock_irqrestore()\u0027 with bogus flags\"\n\nThe code flow is as shown below:\nprocess_oq() --\u003e process_one_iomb --\u003e mpi_sata_completion\n\nIn \u0027mpi_sata_completion\u0027\nthe first call for \u0027spin_unlock_irqrestore()\u0027 is with flags\u003d0,\nwhich is as good as \u0027spin_unlock_irq()\u0027 ( unconditional interrupt\nenabling).\n\nSo for better performance \u0027spin_unlock_irqrestore()\u0027 can be replaced\nwith \u0027spin_unlock_irq()\u0027 and \u0027spin_lock_irqsave()\u0027 can be replaced by\n\u0027spin_lock_irq()\u0027.\n\nSigned-off-by: Santosh Nayak \u003csantoshprasadnayak@gmail.com\u003e\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "cd9b3d04b4cae6bdfd639e603649777f819ed783",
      "tree": "c39ff6d0b79382009f0d5cc905b96e389a62e7d9",
      "parents": [
        "8a6552299e2c3b01bb49ea52be2788f7c6bd8bf2"
      ],
      "author": {
        "name": "Wayne Boyer",
        "email": "wayneb@linux.vnet.ibm.com",
        "time": "Thu Feb 23 11:54:55 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:48:27 2012 -0600"
      },
      "message": "[SCSI] ipr: update PCI ID definitions for new adapters\n\nThis patch updates some PCI ID definitions for new adapters based on the next\ngeneration 64 bit IOA PCI interface chip.\n\nSigned-off-by: Wayne Boyer \u003cwayneb@linux.vnet.ibm.com\u003e\nAcked-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8a6552299e2c3b01bb49ea52be2788f7c6bd8bf2",
      "tree": "2c736f4ae61380630c6bc8e3eee24d8e11763195",
      "parents": [
        "13de2c541993394ec4db4949302312a0ce0af7b1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Feb 21 10:29:40 2012 +0300"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:47:13 2012 -0600"
      },
      "message": "[SCSI] qla2xxx: handle default case in qla2x00_request_firmware()\n\nThis silences a static checker warning.  Also we\u0027re always adding new\ntypes of firmware, so it might fix a bug in real life some day.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Chad Dupuis \u003cchad.dupuis@qlogic.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "13de2c541993394ec4db4949302312a0ce0af7b1",
      "tree": "5acbb429ab2f09f4147e22fa2a1c578e364d58dc",
      "parents": [
        "e462116afb1e436d4045167e7fe979405ae33d2b"
      ],
      "author": {
        "name": "Andrzej Jakowski",
        "email": "andrzej.jakowski@intel.com",
        "time": "Fri Feb 10 01:18:54 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:24:41 2012 -0600"
      },
      "message": "[SCSI] isci: improvements in driver unloading routine\n\nThis patch fixes scenario where driver removal should be possible\nonly when driver is in READY state. Also it removes redundant\ninvocation of routine disabling SCU interrupts - this method is\ncalled somewhere else in driver deinitialization path.\n\nSigned-off-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e462116afb1e436d4045167e7fe979405ae33d2b",
      "tree": "0ccb050d8c3ce67419a1da7e92dc9c386ad9fd3c",
      "parents": [
        "d7a0ccdd9bd78b5b74d2963ec7ab67c9d896902a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Feb 10 01:18:49 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:24:13 2012 -0600"
      },
      "message": "[SCSI] isci: improve phy event warnings\n\nisci occasionally spews messages like:\n\nisci 0000:03:00.0: sci_phy_event_handler: PHY starting substate machine received unexpected event_code b3940000\n\n...which is not very helpful, since we don\u0027t know which controller,\nwhich phy, the exact state, or a decode of the event.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d7a0ccdd9bd78b5b74d2963ec7ab67c9d896902a",
      "tree": "9fc59d3303e7453006c767b0f4daadbf3d4ed5c1",
      "parents": [
        "16d3db1b298529e6aec4a4cf0f56225d9e0bc641"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Feb 10 01:18:44 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 16:23:15 2012 -0600"
      },
      "message": "[SCSI] isci: debug, provide state-enum-to-string conversions\n\nDebugging the driver requires tracing the state transtions and tracing\nstate names is less work than decoding numbers.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "16d3db1b298529e6aec4a4cf0f56225d9e0bc641",
      "tree": "6344a6a694fd6e4053782ddc72a13a67f4983b40",
      "parents": [
        "26a2e68f816ebd736a0484ca293457b280af4ef1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 30 22:53:51 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:43:54 2012 -0600"
      },
      "message": "[SCSI] scsi_transport_sas: \u0027enable\u0027 phys on reset\n\nIf userspace requests a phy reset, treat that as a request for the phy\nto be enabled since that is the effect on hardware.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "26a2e68f816ebd736a0484ca293457b280af4ef1",
      "tree": "5fbae208c3bcda21dd1f9f918e811e07c2ce80e8",
      "parents": [
        "77c309f3cdf9e217032dfe330f5881d352bb0436"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 30 21:40:45 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:42:51 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t recover end devices attached to disabled phys\n\nIf userspace has decided to disable a phy the kernel should honor that\nand not inadvertantly re-enable the phy via error recovery.  This is\nmore straightforward in the sata case where link recovery (via\nlibata-eh) is separate from sas_task cancelling in libsas-eh.  Teach\nlibsas to accept -ENODEV as a successful response from I_T_nexus_reset\n(\u0027successful\u0027 in terms of not escalating further).\n\nThis is a more comprehensive fix then \"libsas: don\u0027t recover \u0027gone\u0027\ndevices in sas_ata_hard_reset()\", as it is no longer sata-specific.\n\naic94xx does check the return value from sas_phy_reset() so if the phy\nis disabled we proceed with clearing the I_T_nexus.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "77c309f3cdf9e217032dfe330f5881d352bb0436",
      "tree": "51e9bbbe8f0159d4235971c481c6599cd75abd14",
      "parents": [
        "899fcf40f3177697ccfb029d0484cb8ec09a51ca"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 08 23:20:41 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:41:51 2012 -0600"
      },
      "message": "[SCSI] libsas: fixup target_port_protocols for expanders that don\u0027t report sata\n\nIf discovery returns 0 for target_port_protocols but shows an attached\nsata device, just report SAS_PROTOCOL_SATA in the identify data so\nuserspace can reliably search for sata devices in the domain.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "899fcf40f3177697ccfb029d0484cb8ec09a51ca",
      "tree": "2983a14444ca62958e50e2fdbd4dc945d7a38849",
      "parents": [
        "9a10b33caf78f897356ac006c455e6060a40af15"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jan 28 17:24:40 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:40:33 2012 -0600"
      },
      "message": "[SCSI] libsas: set attached device type and target protocols for local phys\n\nBefore:\n$ cat /sys/class/sas_phy/phy-6\\:3/device_type\nnone\n$ cat /sys/class/sas_phy/phy-6\\:3/target_port_protocols\nnone\n\nAfter:\n$ cat /sys/class/sas_phy/phy-6\\:3/device_type\nend device\n$ cat /sys/class/sas_phy/phy-6\\:3/target_port_protocols\nsata\n\nAlso downgrade the phy_list_lock to _irq instead of _irqsave since\nlibsas will never call sas_get_port_device with interrupts disbled.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9a10b33caf78f897356ac006c455e6060a40af15",
      "tree": "9c5f9abf97b8582895eb6b4f3b244d1dc854f7b6",
      "parents": [
        "840234745edaa82d514420dc1086e63536493a51"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 20 15:26:03 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:39:25 2012 -0600"
      },
      "message": "[SCSI] libsas: revert ata srst\n\nlibata issues follow up srsts when the controller has a hard time\nrecording the signature-fis after a reset, or if the link supports port\nmultipliers.  libsas does not support port multipliers and no current\nlibsas lldds appear to need help retrieving the signature fis.  Revert\nit for now to remove confusion.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "840234745edaa82d514420dc1086e63536493a51",
      "tree": "62df0a1d381e6cbc910b82f0c727ff8ba6020f5b",
      "parents": [
        "9508a66f898d46e726a318469312b45e0b1d078b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 20 15:23:07 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:38:09 2012 -0600"
      },
      "message": "[SCSI] libsas: fix lifetime of SAS_HA_FROZEN\n\nUntil all sas_tasks are known to no longer be in-flight this flag gates late\ncompletions from colliding with error handling.  However, it must be cleared\nprior to the submission of scsi_send_eh_cmnd() requests, otherwise those\ncommands will never be completed correctly.\n\nThis was spotted by slub debug:\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n BUG sas_task: Objects remaining on kmem_cache_close()\n -----------------------------------------------------------------------------\n\n INFO: Slab 0xffffea001f0eba00 objects\u003d34 used\u003d1 fp\u003d0xffff8807c3aecb00 flags\u003d0x8000000000004080\n Pid: 22919, comm: modprobe Not tainted 3.2.0-isci+ #2\n Call Trace:\n  [\u003cffffffff810fcdcd\u003e] slab_err+0xb0/0xd2\n  [\u003cffffffff810e1c50\u003e] ? free_percpu+0x31/0x117\n  [\u003cffffffff81100122\u003e] ? kzalloc+0x14/0x16\n  [\u003cffffffff81100122\u003e] ? kzalloc+0x14/0x16\n  [\u003cffffffff81100486\u003e] kmem_cache_destroy+0x11d/0x270\n  [\u003cffffffffa0112bdc\u003e] sas_class_exit+0x10/0x12 [libsas]\n  [\u003cffffffff81078fba\u003e] sys_delete_module+0x1c4/0x23c\n  [\u003cffffffff814797ba\u003e] ? sysret_check+0x2e/0x69\n  [\u003cffffffff8126479e\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n  [\u003cffffffff81479782\u003e] system_call_fastpath+0x16/0x1b\n INFO: Object 0xffff8807c3aed280 @offset\u003d21120\n INFO: Allocated in sas_alloc_task+0x22/0x90 [libsas] age\u003d4615311 cpu\u003d2 pid\u003d12966\n  __slab_alloc.clone.3+0x1d1/0x234\n  kmem_cache_alloc+0x52/0x10d\n  sas_alloc_task+0x22/0x90 [libsas]\n  sas_queuecommand+0x20e/0x230 [libsas]\n  scsi_send_eh_cmnd+0xd1/0x30c\n  scsi_eh_try_stu+0x4f/0x6b\n  scsi_eh_ready_devs+0xba/0x6ef\n  sas_scsi_recover_host+0xa35/0xab1 [libsas]\n  scsi_error_handler+0x14b/0x5fa\n  kthread+0x9d/0xa5\n  kernel_thread_helper+0x4/0x10\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9508a66f898d46e726a318469312b45e0b1d078b",
      "tree": "e6b61e6c2a7dc8b40fdc0fe34901ff3db4af47a9",
      "parents": [
        "92625f9bff3853951cc75f5bc084ee67c1317d2f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 18 20:47:01 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:35:41 2012 -0600"
      },
      "message": "[SCSI] libsas: async ata scanning\n\nlibsas ata error handling is already async but this does not help the\nscan case.  Move initial link recovery out from under host-\u003escan_mutex,\nand delay synchronization with eh until after all port probe/recovery\nwork has been queued.\n\nDevice ordering is maintained with scan order by still calling\nsas_rphy_add() in order of domain discovery.\n\nSince we now scan the domain list when invoking libata-eh we need to be\ncareful to check for fully initialized ata ports.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "92625f9bff3853951cc75f5bc084ee67c1317d2f",
      "tree": "9d5d2c89b99cdf73ec3c28703d0d5514e37ec73c",
      "parents": [
        "c666aae6919114d6cff789d79f80cfa85f3a7339"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 18 20:14:01 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:34:19 2012 -0600"
      },
      "message": "[SCSI] libsas: restore scan order\n\nata devices are always scanned after ssp.  Prior to the ata error\nhandling reworks libsas would tend to scan devices in ascending expander\nphy order.  Restore this ordering by deferring ssp discovery to a\nDISCE_PROBE event, and keep the probe order consistent with the\ndiscovery order, not the placement of sata devices.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "c666aae6919114d6cff789d79f80cfa85f3a7339",
      "tree": "86cff11f3ed7482f6bb1a516f82bac24c7055835",
      "parents": [
        "354cf82980e2449e71fdaa3c6f170357ebd65467"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 19 18:43:08 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:33:39 2012 -0600"
      },
      "message": "[SCSI] libsas: delete device on sas address changed\n\nIf the phy is attached to a new sas address unregister the first address\nbefore processing the new attachment.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "354cf82980e2449e71fdaa3c6f170357ebd65467",
      "tree": "8300579ebb51e19e503437d5c1f5ce2fd5186f18",
      "parents": [
        "a692b0eec5efae382dfa800e8b4b083f172921a7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 12 17:57:35 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:33:02 2012 -0600"
      },
      "message": "[SCSI] libsas: let libata recover links that fail to transmit initial sig-fis\n\nlibsas fails to discover all sata devices in the domain.  If a device fails\nnegotiation and does not transmit a signature fis the link needs recovery.\nlibata already understands how to manage slow to come up links, so treat these\nconditions as ata device attach events for the purposes of creating an\nata_port.  This allows libata to manage retrying link bring up.\n\nRediscovery is modified to be careful about checking changes in dev_type.  It\nlooks like libsas leaks old devices if the sas address changes, but that\u0027s a\nfix for another patch.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a692b0eec5efae382dfa800e8b4b083f172921a7",
      "tree": "04cee8e7776630d89d8a66ad5a88baf503a54acc",
      "parents": [
        "d214d81e883b6fc6f11cc772ff88585565d45cce"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 16 13:54:28 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:29:06 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas port naming\n\nMake sas-port naming consistent with the expander-attached case whereby\nthe phy-id is the last digit in the port name.  Otherwise we get the\nrandom behavior of the allocation order.\n\nReported-by: Patrick Thomson \u003cpatrick.s.thomson@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d214d81e883b6fc6f11cc772ff88585565d45cce",
      "tree": "963e3eb05dcbf86a19deb48e262bef6ed9731c9c",
      "parents": [
        "fdfd9d1b8912991d88fc29a456867c62515218f9"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 16 11:56:50 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:28:24 2012 -0600"
      },
      "message": "[SCSI] libsas: improve debug statements\n\nIt\u0027s difficult to determine which domain_device is triggering error recovery,\nso convert messages like:\n\n  sas: ex 5001b4da000e703f phy08:T attached: 5001b4da000e7028\n  sas: ex 5001b4da000e703f phy09:T attached: 5001b4da000e7029\n  ...\n  ata7: sas eh calling libata port error handler\n  ata8: sas eh calling libata port error handler\n\n...into:\n\n  sas: ex 5001517e85cfefff phy05:T:9 attached: 5001517e85cfefe5 (stp)\n  sas: ex 5001517e3b0af0bf phy11:T:8 attached: 5001517e3b0af0ab (stp)\n  ...\n  sas: ata7: end_device-21:1: dev error handler\n  sas: ata8: end_device-20:0:5: dev error handler\n\nwhich shows attached link rate, device type, and associates a\ndomain_device with its ata_port id to correlate messages emitted from\nlibata-eh.\n\nAs Doug notes, we can also take the opportunity to clarify expander phy\nrouting capabilities.\n\n[dgilbert@interlog.com: clarify table2table with \u0027U\u0027]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "fdfd9d1b8912991d88fc29a456867c62515218f9",
      "tree": "4537befd93ba3821dc679d3352793e149bc3c944",
      "parents": [
        "5d7f6d1071eadd020edb2cf366d358e0f6d0a0f9"
      ],
      "author": {
        "name": "Maciej Trela",
        "email": "maciej.trela@intel.com",
        "time": "Fri Jan 13 21:52:38 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:27:44 2012 -0600"
      },
      "message": "[SCSI] libsas: kill spurious sas_put_device\n\nHoldover from a patch rework, prior to the addition of SAS_DEV_DESTROY\nwe were holding a reference while the destruct was pending in case the\ndomain was torn down before the desctruct event ran.  That case is\ncovered by SAS_DEV_DESTROY, and the sas_put_device() just corrupts freed\nmemory, or worse frees the memory while another agent holds a reference.\n\nSigned-off-by: Maciej Trela \u003cmaciej.trela@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5d7f6d1071eadd020edb2cf366d358e0f6d0a0f9",
      "tree": "4c3d4c7a22ee37a61edb12ab76f3a37ba685e8b6",
      "parents": [
        "ab5266335ba1a43461443f9823276a2b44dd1ba7"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Jan 12 11:47:24 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:27:09 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas_unregister_ports vs sas_drain_work\n\nWe need to hold drain_mutex across the unregistration as port down events\nqueue device removal as chained events, so we need to make sure no other\ndrainers are active.\n\n[ 1118.673968] WARNING: at kernel/workqueue.c:996 __queue_work+0x11a/0x326()\n[ 1118.681982] Hardware name: S2600CP\n[ 1118.686193] Modules linked in: isci(-) libsas scsi_transport_sas nls_utf8\nipv6 uinput sg iTCO_wdt iTCO_vendor_support i2c_i801 i2c_core ioatdma dca\nsd_mod sr_mod cdrom ahci libahci libata [last unloaded: scsi_transport_sas]\n[ 1118.709893] Pid: 6831, comm: rmmod Not tainted 3.2.0-isci+ #1\n[ 1118.716727] Call Trace:\n[ 1118.719867]  [\u003cffffffff8103e9f5\u003e] warn_slowpath_common+0x85/0x9d\n[ 1118.727000]  [\u003cffffffff8103ea27\u003e] warn_slowpath_null+0x1a/0x1c\n[ 1118.733942]  [\u003cffffffff81056d44\u003e] __queue_work+0x11a/0x326\n[ 1118.740481]  [\u003cffffffff81056f99\u003e] queue_work_on+0x1b/0x22\n[ 1118.746925]  [\u003cffffffff81057106\u003e] queue_work+0x37/0x3e\n[ 1118.753105]  [\u003cffffffffa0120e05\u003e] ? sas_discover_event+0x55/0x82 [libsas]\n[ 1118.761094]  [\u003cffffffff813217c3\u003e] scsi_queue_work+0x42/0x44\n[ 1118.767717]  [\u003cffffffffa0120e19\u003e] sas_discover_event+0x69/0x82 [libsas]\n[ 1118.775509]  [\u003cffffffffa0120f5b\u003e] sas_unregister_dev+0xc3/0xcc [libsas]\n[ 1118.783319]  [\u003cffffffffa0120fae\u003e] sas_unregister_domain_devices+0x4a/0xc8 [libsas]\n[ 1118.792731]  [\u003cffffffffa0120071\u003e] sas_deform_port+0x60/0x1a6 [libsas]\n[ 1118.800339]  [\u003cffffffffa01201ea\u003e] sas_unregister_ports+0x33/0x44 [libsas]\n[ 1118.808342]  [\u003cffffffffa011f7e5\u003e] sas_unregister_ha+0x41/0x6b [libsas]\n[ 1118.816055]  [\u003cffffffffa0134055\u003e] isci_unregister+0x22/0x4d [isci]\n[ 1118.823384]  [\u003cffffffffa0143040\u003e] isci_pci_remove+0x2e/0x60 [isci]\n\nReported-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "ab5266335ba1a43461443f9823276a2b44dd1ba7",
      "tree": "5ab3c7e21f27e0ecacb01117764d911c349b51c9",
      "parents": [
        "d230ce691c7712c4f56ba3378d6d2f44628a49f1"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 11 13:13:44 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:25:32 2012 -0600"
      },
      "message": "[SCSI] libsas: route local link resets through ata-eh\n\nSimilar to the conversion of the transport-class reset we want bsg\ninitiated resets to be managed by libata.\n\nReported-by: Jacek Danecki \u003cjacek.danecki@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "d230ce691c7712c4f56ba3378d6d2f44628a49f1",
      "tree": "5d8e334e322e26e807d5c186c9aa349c905c0c9d",
      "parents": [
        "8abda4d28a55ecb91e39ceb5e3ee264c5a3cd1af"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Jan 11 12:08:36 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:23:24 2012 -0600"
      },
      "message": "[SCSI] libsas: fix mixed topology recovery\n\nIf we have a domain with sas and sata devices there may still be sas\nrecovery actions to take after peeling off the commands to send to\nlibata.\n\nReported-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "8abda4d28a55ecb91e39ceb5e3ee264c5a3cd1af",
      "tree": "6ccf0a1a6e545e05cefe68c5c37c18a5bd88c49f",
      "parents": [
        "7d05919aad080074453de880822fe5805875645f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 10 15:14:09 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:22:25 2012 -0600"
      },
      "message": "[SCSI] libsas: close scsi_remove_target() vs libata-eh race\n\nata_port lifetime in libata follows the host.  In libsas it follows the\nscsi_target.  Once scsi_remove_device() has caused all commands to be\ncompleted it allows scsi_remove_target() to immediately proceed to\nfreeing the ata_port causing bug reports like:\n\n[  848.393333] BUG: spinlock bad magic on CPU#4, kworker/u:2/5107\n[  848.400262] general protection fault: 0000 [#1] SMP\n[  848.406244] CPU 4\n[  848.408310] Modules linked in: nls_utf8 ipv6 uinput i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support ioatdma dca sg sd_mod sr_mod cdrom ahci libahci isci libsas libata scsi_transport_sas [last unloaded: scsi_wait_scan]\n[  848.432060]\n[  848.434137] Pid: 5107, comm: kworker/u:2 Not tainted 3.2.0-isci+ #8 Intel Corporation S2600CP/S2600CP\n[  848.445310] RIP: 0010:[\u003cffffffff8126a68c\u003e]  [\u003cffffffff8126a68c\u003e] spin_dump+0x5e/0x8c\n[  848.454787] RSP: 0018:ffff8807f868dca0  EFLAGS: 00010002\n[  848.461137] RAX: 0000000000000048 RBX: ffff8807fe86a630 RCX: ffffffff817d0be0\n[  848.469520] RDX: 0000000000000000 RSI: ffffffff814af1cf RDI: 0000000000000002\n[  848.477959] RBP: ffff8807f868dcb0 R08: 00000000ffffffff R09: 000000006b6b6b6b\n[  848.486327] R10: 000000000003fb8c R11: ffffffff81a19448 R12: 6b6b6b6b6b6b6b6b\n[  848.494699] R13: ffff8808027dc520 R14: 0000000000000000 R15: 000000000000001e\n[  848.503067] FS:  0000000000000000(0000) GS:ffff88083fd00000(0000) knlGS:0000000000000000\n[  848.512899] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[  848.519710] CR2: 00007ff77d001000 CR3: 00000007f7a5d000 CR4: 00000000000406e0\n[  848.528072] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  848.536446] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  848.544831] Process kworker/u:2 (pid: 5107, threadinfo ffff8807f868c000, task ffff8807ff348000)\n[  848.555327] Stack:\n[  848.557959]  ffff8807fe86a630 ffff8807fe86a630 ffff8807f868dcd0 ffffffff8126a6e0\n[  848.567072]  ffffffff817c142f ffff8807fe86a630 ffff8807f868dcf0 ffffffff8126a703\n[  848.576190]  ffff8808027dc520 0000000000000286 ffff8807f868dd10 ffffffff814af1bb\n[  848.585281] Call Trace:\n[  848.588409]  [\u003cffffffff8126a6e0\u003e] spin_bug+0x26/0x28\n[  848.594357]  [\u003cffffffff8126a703\u003e] do_raw_spin_unlock+0x21/0x88\n[  848.601283]  [\u003cffffffff814af1bb\u003e] _raw_spin_unlock_irqrestore+0x2c/0x65\n[  848.609089]  [\u003cffffffffa001c103\u003e] ata_scsi_port_error_handler+0x548/0x557 [libata]\n[  848.618331]  [\u003cffffffff81061813\u003e] ? async_schedule+0x17/0x17\n[  848.625060]  [\u003cffffffffa004f30f\u003e] async_sas_ata_eh+0x45/0x69 [libsas]\n[  848.632655]  [\u003cffffffff810618aa\u003e] async_run_entry_fn+0x97/0x125\n[  848.639670]  [\u003cffffffff81057439\u003e] process_one_work+0x207/0x38d\n[  848.646577]  [\u003cffffffff8105738c\u003e] ? process_one_work+0x15a/0x38d\n[  848.653681]  [\u003cffffffff810576f7\u003e] worker_thread+0x138/0x21c\n[  848.660305]  [\u003cffffffff810575bf\u003e] ? process_one_work+0x38d/0x38d\n[  848.667493]  [\u003cffffffff8105b098\u003e] kthread+0x9d/0xa5\n[  848.673382]  [\u003cffffffff8106e1bd\u003e] ? trace_hardirqs_on_caller+0x12f/0x166\n[  848.681304]  [\u003cffffffff814b7704\u003e] kernel_thread_helper+0x4/0x10\n[  848.688324]  [\u003cffffffff814af534\u003e] ? retint_restore_args+0x13/0x13\n[  848.695530]  [\u003cffffffff8105affb\u003e] ? __init_kthread_worker+0x5b/0x5b\n[  848.702929]  [\u003cffffffff814b7700\u003e] ? gs_change+0x13/0x13\n[  848.709155] Code: 00 00 48 8d 88 38 04 00 00 44 8b 80 84 02 00 00 31 c0 e8 cf 1b 24 00 41 83 c8 ff 44 8b 4b 08 48 c7 c1 e0 0b 7d 81 4d 85 e4 74 10 \u003c45\u003e 8b 84 24 84 02 00 00 49 8d 8c 24 38 04 00 00 8b 53 04 48 89\n[  848.732467] RIP  [\u003cffffffff8126a68c\u003e] spin_dump+0x5e/0x8c\n[  848.738905]  RSP \u003cffff8807f868dca0\u003e\n[  848.743743] ---[ end trace 143161646eee8caa ]---\n\n...so arrange for the ata_port to have the same end of life as the domain\ndevice.\n\nReported-by: Marcin Tomczak \u003cmarcin.tomczak@intel.com\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "7d05919aad080074453de880822fe5805875645f",
      "tree": "df78c12a7bfc9acaefd91d2a8852dca17c178790",
      "parents": [
        "45c73b65194173e77030d5b95abe5b63a402d268"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 10 14:39:13 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:20:55 2012 -0600"
      },
      "message": "[SCSI] libsas: mark all domain devices gone if root port disappears\n\nIf the top level expander is hot removed, mark all child devices as gone\nbefore unregistration to short circuit futile recovery.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "45c73b65194173e77030d5b95abe5b63a402d268",
      "tree": "46e08c5fb11805dac6aa2008a3501dfee58f75c8",
      "parents": [
        "5a998328296cb16cb8b0307a402a0f2feab533c5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jan 09 10:12:52 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:20:01 2012 -0600"
      },
      "message": "[SCSI] libsas: pre-clean commands that won the eh vs completion race\n\nWhen scrolling forward through the eh list (in a clear_q scenario) it is\npossible to encounter commands that won the completion vs eh race.  Rather\nthan sprinkle more \"if (!task)\" throughout the handler just make a pass\nthrough the list and delete the race winners before handling the rest.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "5a998328296cb16cb8b0307a402a0f2feab533c5",
      "tree": "25c3a355256a895189d993b8b45ce029e5eab204",
      "parents": [
        "6a719391e4a13d5fa2ec7642ef0c780d7f3f5716"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 12 20:32:09 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:16:52 2012 -0600"
      },
      "message": "[SCSI] isci: remove IDEV_EH hack to disable \"discovery-time\" ata resets\n\nPrior to commit 61aaff49 \"isci: filter broadcast change notifications\nduring SMP phy resets\" we borrowed the MVS_DEV_EH approach from the\nmvsas driver for preventing -\u003elldd_I_T_nexus_reset() events during ata\ndiscovery.  This hack was protecting against the old -\u003ephy_reset() in\nata_bus_probe(), but since the conversion to the new error handling this\nhack is preventing resets from reaching ata devices.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6a719391e4a13d5fa2ec7642ef0c780d7f3f5716",
      "tree": "669d2569b29f930d2eeb895b2cc81e22e2878472",
      "parents": [
        "687833a03baae8308900486fa6499ef955fd07a9"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 08 00:37:25 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:16:05 2012 -0600"
      },
      "message": "[SCSI] isci: remove bus and reset handlers\n\nRemove -\u003eeh_device_reset_handler() and -\u003eeh_bus_reset_handler() for the\nsame reason they are not implemented for libata hosts, they cannot be\nimplemented reliably with ata-eh.  ATA error recovery wants to divert\nall resets to the eh thread and wait for completion, these handlers may\nbe invoked from a non-blocking ioctl.\n\nThe other path they are called from is libsas-eh, and if we escalate\npast I_T_nexus reset we have larger problems i.e. tear down all\nin-flight commands in the domain potentially without notification to the\nlldd if it has chosen not to implement -\u003elldd_clear_nexus_port() /\n-\u003elldd_clear_nexus_ha().\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "687833a03baae8308900486fa6499ef955fd07a9",
      "tree": "76da700de1674f42978b58b35dede2b577a6f901",
      "parents": [
        "43a5ab151f0268459c4368292c2ddb2266b8f243"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 18:01:38 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:15:07 2012 -0600"
      },
      "message": "[SCSI] isci: -\u003elldd_ata_check_ready handler\n\nReport to libata whether the link to the given domain_device is up and the\nsignature fis has been received.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "43a5ab151f0268459c4368292c2ddb2266b8f243",
      "tree": "e8ee97e0d49bc0c454ca90f16a836fd01830b11f",
      "parents": [
        "9277699121b81891e303ada0a53fa1d04b7ffe72"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 08 23:20:44 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:13:40 2012 -0600"
      },
      "message": "[SCSI] isci: stop interpreting -\u003elldd_lu_reset() as an ata soft-reset\n\nDriving resets from libsas-eh is pre-mature as libata will make a\ndecision about performing a softreset.  Currently libata determines\nwhether to perform a softreset based on ata_eh_followup_srst_needed(),\nand none of those conditions apply to isci.\n\nRemove the srst implementation and translate -\u003elldd_lu_reset() for ata\ndevices as a request to drive a reset via libata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9277699121b81891e303ada0a53fa1d04b7ffe72",
      "tree": "ed8fde54c953025be2a59697dd912f581536c782",
      "parents": [
        "fca4ecbdc440337b3c257b38c2f4cc8d0ca0286c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Nov 30 11:57:34 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:11:54 2012 -0600"
      },
      "message": "[SCSI] isci: fix interpretation of \"hard\" reset\n\nA hard reset to isci in the direct-attached case is one where the driver\ninternally manages debouncing the link.  In the sas-expander-attached\ncase a hard reset is one that clears affiliations.  The driver should\nnot be prematurely dropping affiliations at run time, that decision (to\nforce expander hard resets to ata devices) is left to userspace to\nmanage.  So, arrange for I_T_nexus resets to be sas-link-resets in the\nexpander-attached case and isci-hard-resets in the direct-attached case.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "fca4ecbdc440337b3c257b38c2f4cc8d0ca0286c",
      "tree": "4b1af31866accd76f16056a842c5a25de182e838",
      "parents": [
        "c132f692085ac624d7c8123df781846c8dcb3166"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 03 23:26:15 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:11:19 2012 -0600"
      },
      "message": "[SCSI] isci: kill isci_port-\u003estatus\n\nIt only tracks whether the port is stopping in order to gate new devices\nbeing discovered while the port is stopping.  However, since the check\nand subsequent handling is unlocked there is nothing to stop the port\nfrom going down immediately after the check.\n\nDriver is already prepared to handle devices arriving on stale ports,\nand those will be cleaned up by an eventual -\u003elldd_dev_gone()\nnotification.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "c132f692085ac624d7c8123df781846c8dcb3166",
      "tree": "c9009fcb9112812544f54efc6c134021dffb6545",
      "parents": [
        "cb48d672bfeb4147f3e20d5b16fa2eb6377231e2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Jan 03 23:26:08 2012 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 15:05:05 2012 -0600"
      },
      "message": "[SCSI] isci: kill iphy-\u003eisci_port lookups\n\nThis field is a holdover from the OS abstraction conversion.  The stable\nphy to port lookups are done via iphy-\u003eownining_port under scic_lock.\nAfter this conversion to use port-\u003elldd_port the only volatile lookup is\nthe initial lookup in isci_port_formed().  After that point any lookup\nvia a successfully notified domain_device is guaranteed to be valid\nuntil the domain_device is destroyed.\n\nDelete -\u003estart_complete as it is only set once and is set as a\nconsequence of the port going link up, by definition of getting a port\nformed event the port is \"ready\".\n\nWhile we are correcting port lookups also move the asd_sas_port table\nout from under the isci_port.  This is to preclude any temptation to use\ncontainer_of() to convert an asd_sas_port to an isci_port, the\nassociation is dynamic and under libsas control.\n\nTested-by: Maciej Trela \u003cmaciej.trela@intel.com\u003e\n[dmilburn@redhat.com: fix i686 compile error]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "cb48d672bfeb4147f3e20d5b16fa2eb6377231e2",
      "tree": "c0c47dce6ce9b815e62ca6896762afa6a2278f71",
      "parents": [
        "f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Dec 22 14:58:24 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 13:04:59 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t recover \u0027gone\u0027 devices in sas_ata_hard_reset()\n\nThe commands that timeout when a disk is forcibly removed may trigger\nlibata to attempt recovery of the device.  If libsas has decided to\nremove the device don\u0027t permit ata to continue to issue resets to its\nlast known phy.\n\nThe primary motivation for this patch is hotplug testing by writing 0 to\n/sys/class/sas_phy/phyX/enable.  Without this check this test leads to\nlibata issuing a reset and re-enabling the device that wants to be torn\ndown.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd",
      "tree": "5a53adb90ebf31888184a9bff16ccc1869e2e4b3",
      "parents": [
        "3a9c5560f677690f65038f399f4f598c79b83186"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 21:33:17 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 13:01:06 2012 -0600"
      },
      "message": "[SCSI] libsas: fix sas_find_local_phy(), take phy references\n\nIn the direct-attached case this routine returns the phy on which this\ndevice was first discovered.  Which is broken if we want to support\nwide-targets, as this phy reference can become stale even though the\nport is still active.\n\nIn the expander-attached case this routine tries to lookup the phy by\nscanning the attached sas addresses of the parent expander, and BUG_ONs\nif it can\u0027t find it.  However since eh and the libsas workqueue run\nindependently we can still be attempting device recovery via eh after\nlibsas has recorded the device as detached.  This is even easier to hit\nnow that eh is blocked while device domain rediscovery takes place, and\nthat libata is fed more timed out commands increasing the chances that\nit will try to recover the ata device.\n\nArrange for dev-\u003ephy to always point to a last known good phy, it may be\nstale after the port is torn down, but it will catch up for wide port\nreconfigurations, and never be NULL.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3a9c5560f677690f65038f399f4f598c79b83186",
      "tree": "1e15d427fd86260fc26670bc4ceff61d51ef025e",
      "parents": [
        "0508c2f3b701f3cd8ed52b2a4abbb2a670f69ce2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 15:19:56 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:55:12 2012 -0600"
      },
      "message": "[SCSI] libsas: check for \u0027gone\u0027 expanders in smp_execute_task()\n\nNo sense in issuing or retrying commands to an expander that has been\nremoved.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0508c2f3b701f3cd8ed52b2a4abbb2a670f69ce2",
      "tree": "be2eabce601aca56bd5861f71049da96f6aef3cc",
      "parents": [
        "36a399473902a57218dc493c5a814708a56b73ab"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Dec 21 14:55:38 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:51:48 2012 -0600"
      },
      "message": "[SCSI] libsas: don\u0027t mark expanders as gone when a child device is removed\n\nCommit 56dd2c06 \"[SCSI] libsas: Don\u0027t issue commands to devices that\nhave been hot-removed\" marked the parent device of an end-device as gone\nwhen all the phys to the end device have been deleted.\n\nThe expander device is still present until its parent is removed.  This\nis a benign change until the smp_execute_task() path is taught to check\n-\u003egone.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "36a399473902a57218dc493c5a814708a56b73ab",
      "tree": "e64a9f136bbacaded9fdd3d3d39c342953d9be34",
      "parents": [
        "50824d6c5657ce340e3911171865a8d99fdd8eba"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:54 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 29 12:49:36 2012 -0600"
      },
      "message": "[SCSI] libsas: poll for ata device readiness after reset\n\nUse ata_wait_after_reset() to poll for link recovery after a reset.\nThis combined with sas_ha-\u003eeh_mutex prevents expander rediscovery from\nprobing phys in an intermediate state.  Local discovery does not have a\nmechanism to filter link status changes during this timeout, so it\nremains the responsibility of lldds to prevent premature port teardown.\nAlthough once all lldd\u0027s support -\u003elldd_ata_check_ready() that could be\nused as a gate to local port teardown.\n\nThe signature fis is re-transmitted when the link comes back so we\nshould be revalidating the ata device class, but that is left to a future\npatch.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0973dac1a1cc7b85af5ecdd8458e942905bfd89e",
      "tree": "ec033e8592b985bee4571c1d71dffe59ece86913",
      "parents": [
        "e6be0c9e7e9f68b99e5a5ba609c455bae4b141d5"
      ],
      "author": {
        "name": "Petr Uzel",
        "email": "petr.uzel@suse.cz",
        "time": "Fri Feb 24 16:32:59 2012 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 28 16:03:48 2012 +0100"
      },
      "message": "qla4xxx: Add missing spaces to error messages\n\nSigned-off-by: Petr Uzel \u003cpetr.uzel@suse.cz\u003e\nAcked-by: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "210647af897af8ef2d00828aa2a6b1b42206aae6",
      "tree": "bdb048c8fc7db6fb7b84134c1a6127c52da60ed3",
      "parents": [
        "3cf8b64380af6fd515740b010606ada4637818c5"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 25 13:54:20 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 27 12:12:18 2012 -0800"
      },
      "message": "PCI: Rename pci_remove_bus_device to pci_stop_and_remove_bus_device\n\nThe old pci_remove_bus_device actually did stop and remove.\n\nMake the name reflect that to reduce confusion.\n\nThis patch is done by sed scripts and changes back some incorrect\n__pci_remove_bus_device changes.\n\nSuggested-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ff4783ce78c08d2990126ce1874250ae8e72bbd2",
      "tree": "5c95885a4ab768101dd72942b57c238d452a7565",
      "parents": [
        "622121719934f60378279eb440d3cec2fc3176d2",
        "203738e548cefc3fc3c2f73a9063176c9f3583d5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 21:55:51 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/sfc/rx.c\n\nOverlapping changes in drivers/net/ethernet/sfc/rx.c, one to change\nthe rx_buf-\u003eis_page boolean into a set of u16 flags, and another to\nadjust how -\u003eip_summed is initialized.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e35fa8c2d0feb977c2f7d14a973b4132483ffef3",
      "tree": "51e22df14dcef278c0eb6a3433b06e48a18a6d09",
      "parents": [
        "8e94b8db6121570f5ceb1aede9b28db93461cb86"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "agrover@redhat.com",
        "time": "Thu Jan 19 13:39:11 2012 -0800"
      },
      "committer": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Sat Feb 25 14:37:46 2012 -0800"
      },
      "message": "scsi: Use struct scsi_lun in fc/fcp.h\n\nThis allows us to use scsilun_to_int without an ugly cast.\n\nFix up places that use scsilun_to_int on fcp-\u003efc_lun accordingly.\n\nIn fc target, this leaves ft_cmd.lun unused, so remove it.\n\nSigned-off-by: Andy Grover \u003cagrover@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Kiran Patil \u003ckiran.patil@intel.com\u003e\nCc: James Bottomley \u003cJBottomley@Parallels.com\u003e\nSigned-off-by: Nicholas Bellinger \u003cnab@linux-iscsi.org\u003e\n"
    },
    {
      "commit": "41f8ad76362e7aefe3a03949c43e23102dae6e0b",
      "tree": "f4f6077c0b33e5751f3d5491ca71a214389fcf5b",
      "parents": [
        "b52b80023f262ce8a0ffdcb490acb23e8678377a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Jan 25 21:42:58 2012 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sat Feb 25 08:25:09 2012 -0600"
      },
      "message": "[SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576\n\nIt used to be that minors where 8 bit. But now they\nare actually 20 bit. So the fix is simplicity itself.\n\nI\u0027ve tested with 300 devices and all user-mode utils\nwork just fine. I have also mechanically added 10,000\nto the ida (so devices are /dev/osd10000, /dev/osd10001 ...)\nand was able to mkfs an exofs filesystem and access osds\nfrom user-mode.\n\nAll the open-osd user-mode code uses the same library\nto access devices through their symbolic names in\n/dev/osdX so I\u0027d say it\u0027s pretty safe. (Well tested)\n\nThis patch is very important because some of the systems\nthat will be deploying the 3.2 pnfs-objects code are larger\nthan 64 OSDs and will stop to work properly when reaching\nthat number.\n\nCC: Stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "16bca1d572930e5b91714d2c79ec986bc819e7a6",
      "tree": "08f11baf62bc5c13d0a9202c926f8c4e18de6441",
      "parents": [
        "e98092bedcfff1908ad7a32acc46f13e4d8b2f43",
        "3569e5374df66a42ab66368b8bbb075e81d4e85c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 24 16:08:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 24 16:08:51 2012 -0800"
      },
      "message": "Merge tag \u0027scsi-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\nSCSI fixes on 20120224:\n \"This is a set of assorted bug fixes for power management, mpt2sas,\n  ipr, the rdac device handler and quite a big chunk for qla2xxx (plus a\n  use after free of scsi_host in scsi_scan.c). \"\n\n* tag \u0027scsi-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] scsi_dh_rdac: Fix for unbalanced reference count\n  [SCSI] scsi_pm: Fix bug in the SCSI power management handler\n  [SCSI] scsi_scan: Fix \u0027Poison overwritten\u0027 warning caused by using freed \u0027shost\u0027\n  [SCSI] qla2xxx: Update version number to 8.03.07.13-k.\n  [SCSI] qla2xxx: Proper detection of firmware abort error code for ISP82xx.\n  [SCSI] qla2xxx: Remove resetting memory during device initialization for ISP82xx.\n  [SCSI] qla2xxx: Complete mailbox command timedout to avoid initialization failures during next reset cycle.\n  [SCSI] qla2xxx: Remove check for null fcport from host reset handler.\n  [SCSI] qla2xxx: Correct out of bounds read of ISP2200 mailbox registers.\n  [SCSI] qla2xxx: Remove errant clearing of MBX_INTERRUPT flag during CT-IOCB processing.\n  [SCSI] qla2xxx: Clear options-flags while issuing stop-firmware mbx command.\n  [SCSI] qla2xxx: Add an \"is reset active\" helper.\n  [SCSI] qla2xxx: Add check for null fcport references in qla2xxx_queuecommand.\n  [SCSI] qla2xxx: Propagate up abort failures.\n  [SCSI] isci: Fix NULL ptr dereference when no firmware is being loaded\n  [SCSI] ipr: fix eeh recovery for 64-bit adapters\n  [SCSI] mpt2sas: Fix mismatch in mpt2sas_base_hard_reset_handler() mutex lock-unlock\n"
    },
    {
      "commit": "c69263c66e5b2a5d0c7e5a41c189b1846ae1de92",
      "tree": "81c6cf0f5b3b05739e2e73b0118077d9dd245182",
      "parents": [
        "45196cee28a5bcfb6ddbe2bffa4270cbed66ae4b",
        "5407a3c3d942e75d4d123d213fd692bce5acc961"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 23 08:20:44 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 23 08:21:03 2012 -0800"
      },
      "message": "Merge branch \u0027usb-3.3-rc4\u0027 into usb-next\n\nThis is to pull in the xhci changes and the other fixes and device id\nupdates that were done in Linus\u0027s tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3569e5374df66a42ab66368b8bbb075e81d4e85c",
      "tree": "dadcf03a1949b5918c286ba6d43da1ef9ece68a1",
      "parents": [
        "fea6d607e154cf96ab22254ccb48addfd43d4cb5"
      ],
      "author": {
        "name": "Moger, Babu",
        "email": "Babu.Moger@netapp.com",
        "time": "Thu Feb 02 15:21:54 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Wed Feb 22 12:15:19 2012 -0600"
      },
      "message": "[SCSI] scsi_dh_rdac: Fix for unbalanced reference count\n\nThis patch fixes an unbalanced refcount issue.\n\nElevating the lock for both kref_put and also for controller node deletion.\nPreviously, controller deletion was protected but the not the kref_put. This\nwas causing the other thread to pick up the controller structure which was\nalready kref\u0027d zero.\n\nThis was causing the following WARN_ON and also sometimes panic.\n\nWARNING: at lib/kref.c:43 kref_get+0x2d/0x30() (Not tainted)\nHardware name: IBM System x3655 -[7985AC1]-\nModules linked in: fuse scsi_dh_rdac autofs4 nfs lockd fscache nfs_acl\nauth_rpcgss sunrpc 8021q garp stp llc ipv6 ib_srp(U) scsi_transport_srp\nscsi_tgt ib_cm(U) ib_sa(U) ib_uverbs(U) ib_umad(U) mlx4_ib(U) mlx4_core(U)\nib_mthca(U) ib_mad(U) ib_core(U) dm_mirror dm_region_hash dm_log dm_round_robin\ndm_multipath uinput bnx2 ses enclosure sg ibmpex ibmaem ipmi_msghandler\nserio_raw k8temp hwmon amd64_edac_mod edac_core edac_mce_amd shpchp i2c_piix4\next4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif sata_svw pata_acpi ata_generic\npata_serverworks aacraid radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core\ndm_mod [last unloaded: freq_table]\nPid: 13735, comm: srp_daemon Not tainted 2.6.32-71.el6.x86_64 #1\nCall Trace:\n[\u003cffffffff8106b857\u003e] warn_slowpath_common+0x87/0xc0\n[\u003cffffffff8106b8aa\u003e] warn_slowpath_null+0x1a/0x20\n[\u003cffffffff8125c39d\u003e] kref_get+0x2d/0x30\n[\u003cffffffffa01b4029\u003e] rdac_bus_attach+0x459/0x580 [scsi_dh_rdac]\n[\u003cffffffff8135232a\u003e] scsi_dh_handler_attach+0x2a/0x80\n[\u003cffffffff81352c7b\u003e] scsi_dh_notifier+0x9b/0xa0\n[\u003cffffffff814cd7a5\u003e] notifier_call_chain+0x55/0x80\n[\u003cffffffff8109711a\u003e] __blocking_notifier_call_chain+0x5a/0x80\n[\u003cffffffff81097156\u003e] blocking_notifier_call_chain+0x16/0x20\n[\u003cffffffff8132bec5\u003e] device_add+0x515/0x640\n[\u003cffffffff813329e4\u003e] ? attribute_container_device_trigger+0xc4/0xe0\n[\u003cffffffff8134f659\u003e] scsi_sysfs_add_sdev+0x89/0x2c0\n[\u003cffffffff8134d096\u003e] scsi_probe_and_add_lun+0xea6/0xed0\n[\u003cffffffff8134beb2\u003e] ? scsi_alloc_target+0x292/0x2d0\n[\u003cffffffff8134d1e1\u003e] __scsi_scan_target+0x121/0x750\n[\u003cffffffff811df806\u003e] ? sysfs_create_file+0x26/0x30\n[\u003cffffffff8132b759\u003e] ? device_create_file+0x19/0x20\n[\u003cffffffff81332838\u003e] ? attribute_container_add_attrs+0x78/0x90\n[\u003cffffffff814b008c\u003e] ? klist_next+0x4c/0xf0\n[\u003cffffffff81332e30\u003e] ? transport_configure+0x0/0x20\n[\u003cffffffff813329e4\u003e] ? attribute_container_device_trigger+0xc4/0xe0\n[\u003cffffffff8134df40\u003e] scsi_scan_target+0xd0/0xe0\n[\u003cffffffffa02f053a\u003e] srp_create_target+0x75a/0x890 [ib_srp]\n[\u003cffffffff8132a130\u003e] dev_attr_store+0x20/0x30\n[\u003cffffffff811df145\u003e] sysfs_write_file+0xe5/0x170\n[\u003cffffffff8116c818\u003e] vfs_write+0xb8/0x1a0\n[\u003cffffffff810d40a2\u003e] ? audit_syscall_entry+0x272/0x2a0\n[\u003cffffffff8116d251\u003e] sys_write+0x51/0x90\n[\u003cffffffff81013172\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Babu Moger \u003cbabu.moger@netapp.com\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "797a796a13df6b84a4791e57306737059b5b2384",
      "tree": "400d13deef98fdf3fc893e9e55f208c5716b8ba9",
      "parents": [
        "27e74da9800289e69ba907777df1e2085231eff7"
      ],
      "author": {
        "name": "Hitoshi Mitake",
        "email": "mitake@dcl.info.waseda.ac.jp",
        "time": "Tue Feb 07 11:45:33 2012 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 21 16:47:28 2012 -0800"
      },
      "message": "asm-generic: architecture independent readq/writeq for 32bit environment\n\nThis provides unified readq()/writeq() helper functions for 32-bit\ndrivers.\n\nFor some cases, readq/writeq without atomicity is harmful, and order of\nio access has to be specified explicitly.  So in this patch, new two\nheader files which contain non-atomic readq/writeq are added.\n\n - \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e provides non-atomic readq/\n   writeq with the order of lower address -\u003e higher address\n\n - \u003casm-generic/io-64-nonatomic-hi-lo.h\u003e provides non-atomic readq/\n   writeq with reversed order\n\nThis allows us to remove some readq()s that were added drivers when the\ndefault non-atomic ones were removed in commit dbee8a0affd5 (\"x86:\nremove 32-bit versions of readq()/writeq()\")\n\nThe drivers which need readq/writeq but can do with the non-atomic ones\nmust add the line:\n\n  #include \u003casm-generic/io-64-nonatomic-lo-hi.h\u003e /* or hi-lo.h */\n\nBut this will be nop in 64-bit environments, and no other #ifdefs are\nrequired.  So I believe that this patch can solve the problem of\n 1. driver-specific readq/writeq\n 2. atomicity and order of io access\n\nThis patch is tested with building allyesconfig and allmodconfig as\nARCH\u003dx86 and ARCH\u003di386 on top of tip/master.\n\nCc: Kashyap Desai \u003cKashyap.Desai@lsi.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ravi Anand \u003cravi.anand@qlogic.com\u003e\nCc: Vikas Chaudhary \u003cvikas.chaudhary@qlogic.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@parallels.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Roland Dreier \u003croland@purestorage.com\u003e\nCc: James Bottomley \u003cjbottomley@parallels.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Matthew Wilcox \u003cmatthew.r.wilcox@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Hitoshi Mitake \u003ch.mitake@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de49025466b0179c1be7b3e827d2f7b032033090",
      "tree": "3820cfd7bd4b5c073f576946f663c72c50a5c056",
      "parents": [
        "45f3122622e92fda1ee590ba740fa7cbd82d6ee3"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Thu Feb 16 00:48:38 2012 +0900"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 21 11:40:37 2012 +0100"
      },
      "message": "scsi: Fix typo in pmcraid.h\n\nCorrect spelling \"thresold\" to \"threshold\" in\ndrivers/scsi/pmraid.h\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "1101a0d87a8e336914d2f31b528748a231c375ed",
      "tree": "e191984928d896e1d9d97ddae4bb8f58026c8a12",
      "parents": [
        "621b4d66b27e70ba9a0e8fa4676d9c4f916c8343"
      ],
      "author": {
        "name": "Bhanu Prakash Gollapudi",
        "email": "bprakash@broadcom.com",
        "time": "Mon Feb 20 09:59:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 20 19:34:08 2012 -0500"
      },
      "message": "bnx2fc: HSI dependent changes for 7.2.xx FW\n\nwith Tx only section for single cached SGEs.\n\nSigned-off-by: Bhanu Prakash Gollapudi \u003cbprakash@broadcom.com\u003e\nSigned-off-by: Dmitry Kravkov \u003cdmitry@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50824d6c5657ce340e3911171865a8d99fdd8eba",
      "tree": "fcc9a9250cf596f9d12e3b92d9fa67cb8a77f09c",
      "parents": [
        "89d3cf6ac3cdc4f15a82709f8c78ed169a98be5b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Dec 04 01:06:24 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:24:02 2012 -0600"
      },
      "message": "[SCSI] libsas: async ata-eh\n\nOnce sas_ata_hard_reset() starts honoring the \u0027deadline\u0027 parameter a\npathological configuration could take 25 seconds per ata device\n(serialized) to recover.  Run per-port recoveries in parallel.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "89d3cf6ac3cdc4f15a82709f8c78ed169a98be5b",
      "tree": "6da0cf7d0f6e0ff10890f456e754aa6f76013452",
      "parents": [
        "1f4fe89c9c78d3163cf1e389bdc6438a44b64244"
      ],
      "author": {
        "name": "Jeff Skirvin",
        "email": "jeffrey.d.skirvin@intel.com",
        "time": "Wed Nov 16 09:44:13 2011 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:22:49 2012 -0600"
      },
      "message": "[SCSI] libsas: add mutex for SMP task execution\n\nSAS does not tag SMP requests, and at least one lldd (isci) does not permit\nmore than one in-flight request at a time.\n\n[jejb: fix sas_init_dev tab issues while we\u0027re at it]\nSigned-off-by: Jeff Skirvin \u003cjeffrey.d.skirvin@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "1f4fe89c9c78d3163cf1e389bdc6438a44b64244",
      "tree": "7f2ac7da0fc682687b0848da9c13babd25f4f620",
      "parents": [
        "2a559f4ba443265b4c58925b48296f1cf81b49f9"
      ],
      "author": {
        "name": "Jeff Skirvin",
        "email": "jeffrey.d.skirvin@intel.com",
        "time": "Fri Dec 16 08:21:21 2011 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:20:09 2012 -0600"
      },
      "message": "[SCSI] libsas: Remove redundant phy state notification calls.\n\nIn the case of an explicit sas_phy_enable call to disable a phy,\nthe LLDD provides the calls to sas_phy_disconnected and the\nPHYE_LOSS_OF_SIGNAL event.\n\nNOTE: This assumes that the lldd(s) generate the notification, which\nappears to be the case, but only verfied on isci.\n\nSigned-off-by: Jeff Skirvin \u003cjeffrey.d.skirvin@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "2a559f4ba443265b4c58925b48296f1cf81b49f9",
      "tree": "79b2c0ea7e06ce19d00ca097e5df34595afea314",
      "parents": [
        "81c757bc696284f39f07766f0c2ca67af64ce9bd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Dec 04 00:06:57 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:18:01 2012 -0600"
      },
      "message": "[SCSI] libsas: sas_phy_enable via transport_sas_phy_reset\n\nExecute the link-reset triggered by sas_phy_enable via\ntransport_sas_phy_reset so that it can be managed by libata.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "81c757bc696284f39f07766f0c2ca67af64ce9bd",
      "tree": "a01a13219199520c7a992f90d54cc83513a5cdb0",
      "parents": [
        "0b3e09da1350397f3f8b6fd839ab455b0b587451"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Dec 02 16:07:01 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:13:51 2012 -0600"
      },
      "message": "[SCSI] libsas: execute transport link resets with libata-eh via host workqueue\n\nLink resets leave ata affiliations intact, so arrange for libsas to make\nan effort to avoid dropping the device due to a slow-to-recover link.\nTowards this end carry out reset in the host workqueue so that it can\ncheck for ata devices and kick the reset request to libata.  Hard\nresets, in contrast, bypass libata since they are meant for associating\nan ata device with another initiator in the domain (tears down\naffiliations).\n\nNeed to add a new transport_sas_phy_reset() since the current\nsas_phy_reset() is a utility function to libsas lldds.  They are not\nprepared for it to loop back into eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "0b3e09da1350397f3f8b6fd839ab455b0b587451",
      "tree": "f822bb4dcaa52d5d568104932ee55ee136dcf039",
      "parents": [
        "b52df4174dff7e587f6fbfb21e3c2cb57109e5cf"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Dec 20 01:03:48 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:11:33 2012 -0600"
      },
      "message": "[SCSI] libsas: perform sas-transport resets in shost-\u003eworkq context\n\nExtend the sas transport class to allow transport users to attach extra\ndata to a sas_phy (-\u003ehostdata).  Use this area in libsas to move resets\nto workq context in preparation for scheduling ata device resets through\nlibata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b52df4174dff7e587f6fbfb21e3c2cb57109e5cf",
      "tree": "1e53cb4a62519dda60babc240bbd3b7f69c5b1f4",
      "parents": [
        "3a2cdf391b62919d3d2862cdce3d70b9a7a99673"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Nov 30 23:23:33 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:09:32 2012 -0600"
      },
      "message": "[SCSI] libsas: use libata-eh-reset for sata rediscovery fis transmit failures\n\nSince sata devices can take several seconds to recover the link on reset\nthe 0.5 seconds that libsas currently waits may not be enough.  Instead\nif we are rediscovering a phy that was previously attached to a sata\ndevice let libata handle any resets to encourage the device to transmit\nthe initial fis.\n\nOnce sas_ata_hard_reset() and lldds learn how to honor \u0027deadline\u0027 libsas\nshould stop encountering phys in an intermediate state, until then this\nwill loop until the fis is transmitted or -\u003eattached_sas_addr gets\ncleared, but in the more likely initial discovery case we keep existing\nbehavior.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3a2cdf391b62919d3d2862cdce3d70b9a7a99673",
      "tree": "8064bea5987445b88b074c02cf65cc5ac1b2ce98",
      "parents": [
        "3944f50995f947558c35fb16ae0288354756762c"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Nov 29 14:54:28 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:09:02 2012 -0600"
      },
      "message": "[SCSI] libsas: defer SAS_TASK_NEED_DEV_RESET commands to libata\n\nlldds use the SAS_TASK_NEED_DEV_RESET interface to request that eh\nperform a reset.  In the sata device case defer the commands that\ntriggered the reset to libata-eh context so it can perform its pre and\npost reset management.\n\nIn the sas_ata_post_internal() case the reset request is falling on deaf\nears as the sas_task is immediately destroyed without any reset action.\nSince it is currently a nop, and likely superfluous given the conversion\nto new-style libata-eh, just drop the request.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3944f50995f947558c35fb16ae0288354756762c",
      "tree": "59100b5e0a6aaef675bab78a31838356a3554a95",
      "parents": [
        "9095a64a9aead653df320e3a6fc70835c15d46e4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Nov 29 12:08:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:07:15 2012 -0600"
      },
      "message": "[SCSI] libsas: let libata handle command timeouts\n\nlibsas-eh if it successfully aborts an ata command will hide the timeout\ncondition (AC_ERR_TIMEOUT) from libata.  The command likely completes\nwith the all-zero task-\u003etask_status it started with.  Instead, interpret\na TMF_RESP_FUNC_COMPLETE as the end of the sas_task but keep the scmd\naround for libata-eh to handle.\n\nTested-by: Andrzej Jakowski \u003candrzej.jakowski@intel.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "9095a64a9aead653df320e3a6fc70835c15d46e4",
      "tree": "63ad804f78668bf28d90ea2f8c9640ce92dacdea",
      "parents": [
        "a3a142524aa4b1539a64a55087bf12ffa4b1f94e"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 11:29:20 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:06:08 2012 -0600"
      },
      "message": "[SCSI] libsas: fix timeout vs completion race\n\nUntil we have told the lldd to forget a task a timed out operation can\nreturn from the hardware at any time.  Since completion frees the task\nwe need to make sure that no tasks run their normal completion handler\nonce eh has decided to manage the task.  Similar to\nata_scsi_cmd_error_handler() freeze completions to let eh judge the\noutcome of the race.\n\nTask collector mode is problematic because it presents a situation where\na task can be timed out and aborted before the lldd has even seen it.\nFor this case we need to guarantee that a task that an lldd has been\ntold to forget does not get queued after the lldd says \"never seen it\".\nWith sas_scsi_timed_out we achieve this with the -\u003etask_queue_flush\nmutex, rather than adding more time.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "a3a142524aa4b1539a64a55087bf12ffa4b1f94e",
      "tree": "2440c6438979cf410ca9231ab77d5115a140eca5",
      "parents": [
        "3dff5721e4f67e6231dfc419d30aaa7563bfffd4"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Tue Dec 06 23:24:42 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 14:04:52 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent double completion of scmds from eh\n\nWe invoke task-\u003etask_done() to free the task in the eh case, but at this\npoint we are prepared for scsi_eh_flush_done_q() to finish off the scmd.\n\nIntroduce sas_end_task() to capture the final response status from the\nlldd and free the task.\n\nAlso take the opportunity to kill this warning.\ndrivers/scsi/libsas/sas_scsi_host.c: In function ‘sas_end_task’:\ndrivers/scsi/libsas/sas_scsi_host.c:102:3: warning: case value ‘2’ not in enumerated type ‘enum exec_status’ [-Wswitch]\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "3dff5721e4f67e6231dfc419d30aaa7563bfffd4",
      "tree": "752102ef79f985f4d153b4791461404f67cdf467",
      "parents": [
        "e500a34b0257def5b9ec07563afeeada1ead87bb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 12:08:22 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:58:38 2012 -0600"
      },
      "message": "[SCSI] libsas: close error handling vs sas_ata_task_done() race\n\nSince sas_ata does not implement -\u003efreeze(), completions for scmds and\ninternal commands can still arrive concurrent with\nata_scsi_cmd_error_handler() and sas_ata_post_internal() respectively.\nBy the time either of those is called libata has committed to completing\nthe qc, and the ATA_PFLAG_FROZEN flag tells sas_ata_task_done() it has\nlost the race.\n\nIn the sas_ata_post_internal() case we take on the additional\nresponsibility of freeing the sas_task to close the race with\nsas_ata_task_done() freeing the the task while sas_ata_post_internal()\nis in the process of invoking -\u003elldd_abort_task().\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e500a34b0257def5b9ec07563afeeada1ead87bb",
      "tree": "8f504dd4f97ca52f683ee058dfabfb5b859731d5",
      "parents": [
        "b91bb296188118eea9fdc6093cfcf76bbe8589ba"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Nov 28 17:11:33 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:57:01 2012 -0600"
      },
      "message": "[SCSI] libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done\n\nPrior to the conversion to the new-style libata-eh sas_ata_task_done()\nmay have been the last opportunity to clean up the scmd, but now\nlibata-eh explicitly handles this case.  It also races against sas-eh.\nIf a lldd completes a task after SAS_TASK_STATE_ABORTED is set it could\ntrigger a spurious decrement of shost-\u003ehost_failed.  Current lldds have\nthe band-aid of checking SAS_TASK_STATE_ABORTED before calling\n-\u003etask_done(), but better to just let the scmds escalate to libata for\nrace free cleanup.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b91bb296188118eea9fdc6093cfcf76bbe8589ba",
      "tree": "8fe9dda8894514f9cd1184368eab975583c12f3c",
      "parents": [
        "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:52 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:55:42 2012 -0600"
      },
      "message": "[SCSI] libsas: use -\u003eset_dmamode to notify lldds of NCQ parameters\n\nsas_discover_sata() notifies lldds of sata devices twice.  Once to allow\nthe \u0027identify\u0027 to be sent, and a second time to allow aic94xx (the only\nlibsas driver that cares about sata_dev.identify) to setup NCQ\nparameters before the device becomes known to the midlayer.  Replace\nthis double notification and intervening \u0027identify\u0027 with an explicit\n-\u003elldd_ata_set_dmamode notification.  With this change all ata internal\ncommands are issued by libata, so we no longer need sas_issue_ata_cmd().\n\nThe data from the identify command only needs to be cached in one\nlocation so ata_device.id replaces domain_device.sata_dev.identify.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "87c8331fcf72e501c3a3c0cdc5c9391ec72f7cf2",
      "tree": "4ed0e98760c977010fe54778c1a25625840b4583",
      "parents": [
        "e139942d77a6e3ac83bc322e826668054a8601d6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:51 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:52:34 2012 -0600"
      },
      "message": "[SCSI] libsas: prevent domain rediscovery competing with ata error handling\n\nlibata error handling provides for a timeout for link recovery.  libsas\nmust not rescan for previously known devices in this interval otherwise\nit may remove a device that is simply waiting for its link to recover.\nLet libata-eh make the determination of when the link is stable and\nprevent libsas (host workqueue) from taking action while this\ndetermination is pending.\n\nUsing a mutex (ha-\u003edisco_mutex) to flush and disable revalidation while\neh is running requires any discovery action that may block on eh be\nmoved to its own context outside the lock.  Probing ATA devices\nexplicitly waits on ata-eh and the cache-flush-io issued during device\nremoval may also pend awaiting eh completion.  Essentially any rphy\nadd/remove activity needs to run outside the lock.\n\nThis adds two new cleanup states for sas_unregister_domain_devices()\n\u0027allocated-but-not-probed\u0027, and \u0027flagged-for-destruction\u0027.  In the\n\u0027allocated-but-not-probed\u0027 state  dev-\u003erphy points to a rphy that is\nknown to have not been through a sas_rphy_add() event.  At domain\nteardown check if this device is still pending probe and cleanup\naccordingly.  Similarly if a device has already been queued for removal\nthen sas_unregister_domain_devices has nothing to do.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "e139942d77a6e3ac83bc322e826668054a8601d6",
      "tree": "ef1741122d936f6fa9986a53f17e6f6108283649",
      "parents": [
        "312d3e56119a4bc5c36a96818f87f650c069ddc2"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jan 07 08:52:39 2012 +0000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:51:23 2012 -0600"
      },
      "message": "[SCSI] libsas: convert dev-\u003egone to flags\n\nIn preparation for adding tracking of another device state \"destroy\".\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "312d3e56119a4bc5c36a96818f87f650c069ddc2",
      "tree": "d8cf7586656301ff1c4e5a49f9cbddde61e3e561",
      "parents": [
        "b1124cd3ec97406c767b90bf7e93ecd2d2915592"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:50 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:50:12 2012 -0600"
      },
      "message": "[SCSI] libsas: remove ata_port.lock management duties from lldds\n\nEach libsas driver (mvsas, pm8001, and isci) has invented a different\nmethod for managing the ap-\u003elock.  The lock is held by the ata\n-\u003equeuecommand() path.  mvsas drops it prior to acquiring any internal\nlocks which allows it to hold its internal lock across calls to\ntask-\u003etask_done().  This capability is important as it is the only way\nthe driver can flush task-\u003etask_done() instances to guarantee that it no\nlonger has any in-flight references to a domain_device at\n-\u003elldd_dev_gone() time.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b1124cd3ec97406c767b90bf7e93ecd2d2915592",
      "tree": "d0936775aacff4492177c14a73175738dfb51ee0",
      "parents": [
        "f8daa6e6d83f60a721752cb53433bfdc1503b45f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 16:42:34 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:48:51 2012 -0600"
      },
      "message": "[SCSI] libsas: introduce sas_drain_work()\n\nWhen an lldd invokes -\u003enotify_port_event() it can trigger a chain of libsas\nevents to:\n\n  1/ form the port and find the direct attached device\n\n  2/ if the attached device is an expander perform domain discovery\n\nA call to flush_workqueue() will only flush the initial port formation work.\nCurrently libsas users need to call scsi_flush_work() up to the max depth of\nchain (which will grow from 2 to 3 when ata discovery is moved to its own\ndiscovery event).  Instead of open coding multiple calls switch to use\ndrain_workqueue() to flush sas work.\n\ndrain_workqueue() does not handle new work submitted during the drain so\nlibsas needs a bit of infrastructure to hold off unchained work submissions\nwhile a drain is in flight.  A lldd -\u003enotify() event is considered \u0027unchained\u0027\nwhile a sas_discover_event() is \u0027chained\u0027.  As Tejun notes:\n\n  \"For now, I think it would be best to add private wrapper in libsas to\n   support deferring unchained work items while draining.\"\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "f8daa6e6d83f60a721752cb53433bfdc1503b45f",
      "tree": "66798b2d2763a53acada47040c86f7c094430f0a",
      "parents": [
        "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Dec 19 17:02:25 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:47:29 2012 -0600"
      },
      "message": "[SCSI] libsas: convert ha-\u003estate to flags\n\nIn preparation for adding new states (SAS_HA_DRAINING, SAS_HA_FROZEN),\nconvert ha-\u003estate into a set of flags.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "b15ebe0b5d0b95aeb1d84cae3649df1e0e065e9b",
      "tree": "ff93ad5f8be5fe91c7e6cf4963253491ddd058fb",
      "parents": [
        "756f173fb5fa90ec15222e80fb579288be7794fd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:49 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:41:04 2012 -0600"
      },
      "message": "[SCSI] libsas: replace event locks with atomic bitops\n\nThe locks only served to make sure the pending event bitmask was updated\nconsistently.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "756f173fb5fa90ec15222e80fb579288be7794fd",
      "tree": "83633164ff4b8fb20c2fb383429905e25ceed1fc",
      "parents": [
        "735f7d2fedf57380214221be7bed7f62d729e262"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:48 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:39:36 2012 -0600"
      },
      "message": "[SCSI] libsas: fix leak of dev-\u003esata_dev.identify_[packet_]device\n\nThese are never freed in the nominal path.  A domain_device has a\ndifferent lifetime than a sas_rphy we need a dev-\u003erphy independent way\nof identifying sata devices.\n\nReviewed-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "735f7d2fedf57380214221be7bed7f62d729e262",
      "tree": "067db49c22dcbdf695a6517a6c8664b6bb2c2d32",
      "parents": [
        "6f4e75a49fd07d707995865493b9f452302ae36b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:47 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:37:47 2012 -0600"
      },
      "message": "[SCSI] libsas: fix domain_device leak\n\nArrange for the deallocation of a struct domain_device object when it no\nlonger has:\n1/ any children\n2/ references by any scsi_targets\n3/ references by a lldd\n\nThe comment about domain_device lifetime in\nDocumentation/scsi/libsas.txt is stale as it appears mainline never had\na version of a struct domain_device that was registered as a kobject.\nWe now manage domain_device reference counts on behalf of external\nagents.\n\nReviewed-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "6f4e75a49fd07d707995865493b9f452302ae36b",
      "tree": "05f623463250c0e5f06d2a491b39f4edb93236e8",
      "parents": [
        "95ac7fd189b7e81a200b4d00b2bb6669b31acf3a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:46 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:36:36 2012 -0600"
      },
      "message": "[SCSI] libsas: kill sas_slave_destroy\n\nPer commit 3e4ec344 \"libata: kill ATA_FLAG_DISABLED\" needing to set\nATA_DEV_NONE is a holdover from before libsas converted to the\n\"new-style\" ata-eh.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "95ac7fd189b7e81a200b4d00b2bb6669b31acf3a",
      "tree": "cf1b42bd7dd121657537fd16eff9c10422fa61f7",
      "parents": [
        "18a4d0a22ed6c54b67af7718c305cd010f09ddf8"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Nov 17 17:59:45 2011 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 13:32:33 2012 -0600"
      },
      "message": "[SCSI] libsas: remove unused ata_task_resp fields\n\nCommit 1e34c838 \"[SCSI] libsas: remove spurious sata control register\nread/write\" removed the routines to fake the presence of the sata\ncontrol registers, now remove the unused data structure fields to kill\nany remaining confusion.\n\nAcked-by: Jack Wang \u003cjack_wang@usish.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    },
    {
      "commit": "18a4d0a22ed6c54b67af7718c305cd010f09ddf8",
      "tree": "06e22a92290ff84b2c1d5abb09424493de384c4b",
      "parents": [
        "a78e21dc5e9f896ecee5b1fbe189690dfcca38e1"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Feb 09 13:48:53 2012 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "JBottomley@Parallels.com",
        "time": "Sun Feb 19 10:14:52 2012 -0600"
      },
      "message": "[SCSI] Handle disk devices which can not process medium access commands\n\nWe have experienced several devices which fail in a fashion we do not\ncurrently handle gracefully in SCSI. After a failure these devices will\nrespond to the SCSI primary command set (INQUIRY, TEST UNIT READY, etc.)\nbut any command accessing the storage medium will time out.\n\nThe following patch adds an callback that can be used by upper level\ndrivers to inspect the results of an error handling command. This in\nturn has been used to implement additional checking in the SCSI disk\ndriver.\n\nIf a medium access command fails twice but TEST UNIT READY succeeds both\ntimes in the subsequent error handling we will offline the device. The\nmaximum number of failed commands required to take a device offline can\nbe tweaked in sysfs.\n\nAlso add a new error flag to scsi_debug which allows this scenario to be\neasily reproduced.\n\n[jejb: fix up integer parsing to use kstrtouint]\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJBottomley@Parallels.com\u003e\n"
    }
  ],
  "next": "a78e21dc5e9f896ecee5b1fbe189690dfcca38e1"
}
