)]}'
{
  "log": [
    {
      "commit": "9b73e76f3cf63379dcf45fcd4f112f5812418d0a",
      "tree": "4e6bef87cd0cd6d848fc39a5ae25b981dbbe035b",
      "parents": [
        "50d9a126240f9961cfdd063336bbeb91f77a7dce",
        "23c3e290fb9ce38cabc2822b47583fc8702411bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 25 17:19:08 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits)\n  [SCSI] usbstorage: use last_sector_bug flag universally\n  [SCSI] libsas: abstract STP task status into a function\n  [SCSI] ultrastor: clean up inline asm warnings\n  [SCSI] aic7xxx: fix firmware build\n  [SCSI] aacraid: fib context lock for management ioctls\n  [SCSI] ch: remove forward declarations\n  [SCSI] ch: fix device minor number management bug\n  [SCSI] ch: handle class_device_create failure properly\n  [SCSI] NCR5380: fix section mismatch\n  [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices\n  [SCSI] IB/iSER: add logical unit reset support\n  [SCSI] don\u0027t use __GFP_DMA for sense buffers if not required\n  [SCSI] use dynamically allocated sense buffer\n  [SCSI] scsi.h: add macro for enclosure bit of inquiry data\n  [SCSI] sd: add fix for devices with last sector access problems\n  [SCSI] fix pcmcia compile problem\n  [SCSI] aacraid: add Voodoo Lite class of cards.\n  [SCSI] aacraid: add new driver features flags\n  [SCSI] qla2xxx: Update version number to 8.02.00-k7.\n  [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.\n  ...\n"
    },
    {
      "commit": "d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47",
      "tree": "5aaecdc97e807dc9be911243604c9b9e0f22bde6",
      "parents": [
        "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 22 13:43:48 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 23 11:27:54 2008 -0600"
      },
      "message": "[SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI\n\nHugh Dickens noticed that SMART commands issued from user space can\nend up corupting memory.  The problem occurs if the buffer used to\nread data spans two pages.  The reason is that the PIO sector routines\nin libata are expecting physically contiguous pages when they do\nsector operations, so the left overs on the second page go into the\nnext physically adjacent page rather than the next page in the sg\nmapping.\n\nFix this by enforcing strict 512 byte alignment on all buffers from\nuserspace.\n\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7ccd720da3857c21ea893448aaf73620cfe1d27e",
      "tree": "5e42391c4cb3465ea0beadeec6c8f27523b2519b",
      "parents": [
        "b832548773b0cd98216534caa31b9ed7607c4e76"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 17 11:56:24 2008 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:17 2008 -0500"
      },
      "message": "[libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "cadb7345d92628d46cccd3765cc15cb9cd6abccf",
      "tree": "2d5895102c0cd9182521eb408d7c77333498c1f1",
      "parents": [
        "defc9cd826e4a99f550504a744f9407b518828ae"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jan 15 16:01:52 2008 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:16 2008 -0500"
      },
      "message": "[libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof()\n\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4ca4e439640cd1d3659cbcf60e7a73c2ae0450b3",
      "tree": "659dceb7469341dca95d7a96774e787c3b510872",
      "parents": [
        "35a10a80daa04b7316d6bac1b1402cc347c35b1e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Dec 30 09:32:22 2007 +0000"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:15 2008 -0500"
      },
      "message": "libata annotations and fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ff2aeb1eb64c8a4770a6304f9addbae9f9828646",
      "tree": "c6febbec290ec6c40bf3abc7bcdb7188f5039443",
      "parents": [
        "f92a26365a72333f418abe82700c6030d4a1a807"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 05 16:43:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:14 2008 -0500"
      },
      "message": "libata: convert to chained sg\n\nlibata used private sg iterator to handle padding sg.  Now that sg can\nbe chained, padding can be handled using standard sg ops.  Convert to\nchained sg.\n\n* s/qc-\u003e__sg/qc-\u003esg/\n\n* s/qc-\u003epad_sgent/qc-\u003eextra_sg[]/.  Because chaining consumes one sg\n  entry.  There need to be two extra sg entries.  The renaming is also\n  for future addition of other extra sg entries.\n\n* Padding setup is moved into ata_sg_setup_extra() which is organized\n  in a way that future addition of other extra sg entries is easy.\n\n* qc-\u003eorig_n_elem is unused and removed.\n\n* qc-\u003en_elem now contains the number of sg entries that LLDs should\n  map.  qc-\u003emapped_n_elem is added to carry the original number of\n  mapped sgs for unmapping.\n\n* The last sg of the original sg list is used to chain to extra sg\n  list.  The original last sg is pointed to by qc-\u003elast_sg and the\n  content is stored in qc-\u003esaved_last_sg.  It\u0027s restored during\n  ata_sg_clean().\n\n* All sg walking code has been updated.  Unnecessary assertions and\n  checks for conditions the core layer already guarantees are removed.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0dc36888d4422140f9eaf50f24953ec109f750a3",
      "tree": "80253b1831849e4063b73c31c15011c5e4c48404",
      "parents": [
        "537b53c1692960b8b3b0324e886fbe48cb9e5c00"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Dec 18 16:34:43 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:14 2008 -0500"
      },
      "message": "libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_*\n\nATA_PROT_ATAPI_* are ugly and naming schemes between ATA_PROT_* and\nATA_PROT_ATAPI_* are inconsistent causing confusion.  Rename them to\nATAPI_PROT_* and make them consistent with ATA counterpart.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "93f8fecbe72bc3c121f3605dd198ff39ef358522",
      "tree": "46080625a3bf8331f1d31c0d77fbcd024fd6ddef",
      "parents": [
        "1973a023a616b40ba33fd0d38b1055c62c88e73d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Dec 05 16:43:01 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:13 2008 -0500"
      },
      "message": "libata: make atapi_request_sense() use sg\n\natapi_request_sense() is now the only left user of ata_sg_init_one().\nConvert it to use sg interface.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Rusty Russel \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ae8d4ee7ff429136c8b482c3b38ed994c021d3fc",
      "tree": "bf45047ab8a4f5325c6b752be02313d3112eded0",
      "parents": [
        "ffe188dd83e84119516688c822388c8f30a54877"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Nov 04 22:05:49 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 23 05:24:09 2008 -0500"
      },
      "message": "libata: Disable ATA8-ACS proposed Trusted Computing features by default\n\nHistorically word 48 in the identify data was used to mean 32bit I/O\nwas supported for VLB IDE etc. ATA8 reassigns this word to the Trusted\nComputing Group, where it is used for TCG features. This means that\nan ATA8 TCG drive is going to trigger 32bit I/O on some systems which\nwill be funny.\n\nAnyway we need to sort this out ready for ATA8 so:\n- Reorder the ata.h header a bit so the ata_version function occurs early\n  in it\n- Make dword_io check the ATA version\n- Add an ATA8 version checking TCG presence test\n\nWhile we are at it the current drafts have a flaw where it may not be\npossible to disable TCG features at boot (and opt out of the trusted\nmodel) as TCG intends because it relies on presence of a different\noptional feature (DCS). Handle this in software by refusing the TCG\ncommands if libata.allow_tpm is not set. (We must make it possible\nas some environments such as proprietary VDR devices will doubtless\nwant to use it to lock up content)\n\nFinally as with CPRM print a warning so that the user knows they may\nnot be able to full access and use the device.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\n"
    },
    {
      "commit": "d8cf5389bd9d1f0ac9fea51796c274ba64b83d80",
      "tree": "b6f6c10b9d7ca625ad531bd5ca1778d354fb15d5",
      "parents": [
        "c2e14f11120bbef0c883e795da8180b58f3cddae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 15 08:46:59 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jan 14 21:11:02 2008 -0500"
      },
      "message": "libata: relocate sdev-\u003emanage_start_stop configuration\n\nAfter 9b8e8de7, manage_start_stop configuration depends on valid ATA\ndevice.  Move it into ata_scsi_dev_config().  This was detected by the\ncoverity checker.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "465ff3185e0cb76d46137335a4d21d0d9d3ac8a2",
      "tree": "171068cd7d99600cd094c2eb72bac712649fd9eb",
      "parents": [
        "11c3e689f1c3a73e3af7b0ea767b1b0626da8033"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Jan 01 10:00:10 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:22 2008 -0600"
      },
      "message": "[SCSI] relax scsi dma alignment\n\nThis patch relaxes the default SCSI DMA alignment from 512 bytes to 4\nbytes.  I remember from previous discussions that usb and firewire have\nsector size alignment requirements, so I upped their alignments in the\nrespective slave allocs.\n\nThe reason for doing this is so that we don\u0027t get such a huge amount of\ncopy overhead in bio_copy_user() for udev.  (basically all inquiries it\nissues can now be directly mapped).\n\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "9b8e8de7e59b3a2dab3113d620b52dc8ba890fb3",
      "tree": "d935740d82e28e0579700ceacef2688147890420",
      "parents": [
        "13cc546be3060324de9d92ebde3bc9dbd950df23"
      ],
      "author": {
        "name": "Ondrej Zary",
        "email": "linux@rainbow-software.org",
        "time": "Thu Jan 10 17:13:19 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Jan 10 17:13:19 2008 -0500"
      },
      "message": "libata and starting/stopping ATAPI floppy devices\n\nPrevent libata from starting/stopping non-ATA devices (like ATAPI floppy\ndrives) as they don\u0027t seem to like it:\n\nsd 1:0:1:0: [sdb] Starting disk\nata2.01: configured for PIO2\nsd 1:0:1:0: [sdb] Result: hostbyte\u003d0x00 driverbyte\u003d0x08\nsd 1:0:1:0: [sdb] Sense Key : 0x2 [current]\nsd 1:0:1:0: [sdb] ASC\u003d0x3a ASCQ\u003d0x0\n\nSigned-off-by: Ondrej Zary \u003clinux@rainbow-software.org\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "e190222d04cb1119c62876ac87cf9b9403ba3bd5",
      "tree": "e7aabe0c306f4f5b169c06d0829258717953cc5a",
      "parents": [
        "dc86f6d4183c79a08fa01c08dd2191895c0c7eb0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Nov 26 20:58:02 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Nov 26 11:03:40 2007 -0500"
      },
      "message": "libata: bump transfer chunk size if it\u0027s odd\n\nNone of the drives I have follows what the standard says about\ntransfer chunk size.  Of the four SATA and six PATA ATAPI devices\ntested, four ignore transfer chunk size completely and the ones which\nhonor it don\u0027t behave according to the spec when it\u0027s odd.\n\nAccording to the spec, transfer chunk size can be odd if the amount of\ndata to transfer equals or is smaller than the chunk size and the\ndevice can indicate the same odd number and transfer the whole thing\nat one go with a pad byte appended.  However, in reality, none of the\ndrives I have does that.  They all indicate and transfer even number\nof bytes one byte shorter than the chunk size first; then indicate and\ntransfer two bytes, which is clearly out of spec.\n\nIn addition to unnecessary second PIO data phase, this also creates a\nweird problem when combined with SATA controllers which perform PIO\nvia DMA.  Some of these controllers use actualy number of bytes\nreceived to update DMA pointer so chunks which are sized 4n + 2 makes\nDMA pointer off by two bytes.  This causes data corruption and buffer\noverruns.\n\nThis patch rounds nbytes up to the nearest even number such that ATAPI\ndevices don\u0027t split data transfer for the last odd byte.  This\nshouldn\u0027t confuse controllers which depend on transfer chunk size as\ndevices will report the rounded-up number, actually transfer that much\nand padding buffer is there to receive them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "607126c2a21cd6e9bb807fdd415c1a992f7b9009",
      "tree": "ec383bc937b0a19b8da4e1c02a3191ea625f40db",
      "parents": [
        "f442cd86c1c86c5f44bc2cf23f89536f7e4cfe59"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Thu Nov 15 13:13:59 2007 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Nov 19 12:28:11 2007 +0900"
      },
      "message": "libata-scsi: be tolerant of 12-byte ATAPI commands in 16-byte CDBs\n\nSebastian Kemper reported that issuing CD/DVD commands under libata is\nnot fully compatible with ide-scsi.  In particular, the\nGPCMD_SET_STREAMING was being rejected at the host level in some\ninstances.\n\nThe reason is that libata-scsi insists upon the cmd_len field exactly\nmatching the SCSI opcode being issued, whereas ide-scsi tolerates\n12-byte commands contained within a 16-byte (cmd_len) CDB.\n\nThere doesn\u0027t seem to be a good reason for us to not be compatible\nthere, so here is a patch to fix libata-scsi to permit SCSI opcodes so\nlong as they fit within whatever size CDB is provided.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f26792d5c63344e14540ced4b19deb29e360bb8d",
      "tree": "5e4287a72bf42bd47b4b7993087e33a6d1cc0a4b",
      "parents": [
        "a341cd0f6a0fde1f85fec9aa8f81f824ea4a3f92"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 17:18:39 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Nov 03 22:23:02 2007 -0400"
      },
      "message": "[libata] Utilize new SCSI event infrastructure\n\nAn end to CD-ROM polling (if you have a device that supports AN)...\nhooray!\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a2d6ed149cefab495dbb573124e7e1ca331005fd",
      "tree": "a32cd6492dafe396ec6fc52df3a2dd37c8e815c4",
      "parents": [
        "1992a5ede1246a746782f687bfe07bf76650770b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 31 00:50:23 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Nov 03 08:46:29 2007 -0400"
      },
      "message": "make ata_scsi_lpm_get() static\n\nata_scsi_lpm_get() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e027bd36c146582cef382364e5c826db93d4427b",
      "tree": "45f3d3db848a5bd44bcb2191db17cbfd30f4911a",
      "parents": [
        "f90f0828e57e97cb1ff19520d252882cfc6fb3c0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 26 16:19:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 30 09:59:43 2007 -0400"
      },
      "message": "libata: implement and use ATA_QCFLAG_QUIET\n\nImplement ATA_QCFLAG_QUIET which indicates that there\u0027s no need to\nreport if the command fails with AC_ERR_DEV and set it for passthrough\ncommands.\n\nCombined with previous changes, this now makes device errors for all\ndirect commands reported directly to the issuer without going through\nEH actions and reporting.\n\nNote that EH is still invoked after non-IO device errors to determine\nthe nature of the error and resume command execution (some controller\nrequires special care after error to continue).  It just performs\ndefault maintenance after error, examines what\u0027s going on, realizes\nthat it\u0027s none of its business and reports the command failure without\nlogging any error messages.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b666da35d900c26cbea1caa465649e2e0afa406c",
      "tree": "c1636d741569fd9fcf39557e36210226e9d5d860",
      "parents": [
        "5595ddf98cb3bf2c18b3b96587a1a9b0b08c267a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Oct 26 15:53:59 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 30 09:59:42 2007 -0400"
      },
      "message": "libata: flush is an IO command\n\nATA_QCFLAG_IO is used to mark commands which are used to perform\nregluar IO transfers via block layer.  These commands are assumed to\nbe valid and taken more seriously during error handling.  Cache flush\nis used by regular IO path and necessary for data integrity.  Mark it\nwith ATA_QCFLAG_IO.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ca77329fb713b7fea6a307068e0dd0248e7aa640",
      "tree": "6a1b987f489d7c3f0bbe81647b4ee2b0216afe8a",
      "parents": [
        "ab6fc95f609b372a19e18ea689986846ab1ba29c"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Thu Oct 25 00:58:59 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 11:00:35 2007 -0400"
      },
      "message": "[libata] Link power management infrastructure\n\nDevice Initiated Power Management, which is defined\nin SATA 2.5 can be enabled for disks which support it.\nThis patch enables DIPM when the user sets the link\npower management policy to \"min_power\".\n\nAdditionally, libata drivers can define a function\n(enable_pm) that will perform hardware specific actions to\nenable whatever power management policy the user set up\nfor Host Initiated Power management (HIPM).\nThis power management policy will be activated after all\ndisks have been enumerated and intialized.  Drivers should\nalso define disable_pm, which will turn off link power\nmanagement, but not change link power management policy.\n\nDocumentation/scsi/link_power_management_policy.txt has additional\ninformation.\n\nSigned-off-by:  Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "4dbfa39b6c95eb9d0aedb5bd00bb552b91c31e3d",
      "tree": "b3b92aa44fe651af464373d8a21a3da8897fa479",
      "parents": [
        "2a397e82c7db18019e408f953dd58dc1963a328c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Oct 25 18:22:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 29 06:15:25 2007 -0400"
      },
      "message": "libata: relocate and fix post-command processing\n\nSome commands need post-processing after successful completion.  This\nwas done in ata_scsi_qc_complete() till now but this has the following\nproblems.\n\n* Post-command processing gets executed when qc is completed from EH.\n  Some qc\u0027s are retried from EH with zero err_mask and thus triggers\n  unnecessary/incorrect post-command processing.\n\n* Command post processing doesn\u0027t belong to SAT layer.\n\n* Link-wide revalidation was scheduled where device revalidation\n  suffices.\n\nThis patch moves post-command processing to success completion path of\nata_qc_complete() which is travelled iff the command is going to be\ncompleted without passing through EH and updates post-command\nprocessing such that device-specific action is used.  While at it,\nrestructure code a bit for readability.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2dcb407e61458ded17503d6bd12b8c064965368b",
      "tree": "6044e032197b84f9943a385b0c9dbb6656c3f97f",
      "parents": [
        "01e7ae8c13bb06a2ce622ebace33bb7e28ef596c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 19 06:42:56 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Oct 23 20:59:42 2007 -0400"
      },
      "message": "[libata] checkpatch-inspired cleanups\n\nTackle the relatively sane complaints of checkpatch --file.\n\nThe vast majority is indentation and whitespace changes, the rest are\n\n* #include fixes\n* printk KERN_xxx prefix addition\n* BSS/initializer cleanups\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "45711f1af6eff1a6d010703b4862e0d2b9afd056",
      "tree": "3d0048f46e3df9d217d56127462ebe680348bd5a",
      "parents": [
        "78c2f0b8c285c5305b3e67b0595200541e15eb43"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:53 2007 +0200"
      },
      "message": "[SG] Update drivers to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "92d15c2ccbb3e31a3fc71ad28fdb55e1319383c0",
      "tree": "8d83c0dc3c6b935d8367e331872f242b742f0a8a",
      "parents": [
        "f20bf6125605acbbc7eb8c9420d7221c91aa83eb",
        "644bd2f048972d75eb1979b1fdca257d528ce687"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 10:09:16 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)\n  Fix memory leak in dm-crypt\n  SPARC64: sg chaining support\n  SPARC: sg chaining support\n  PPC: sg chaining support\n  PS3: sg chaining support\n  IA64: sg chaining support\n  x86-64: enable sg chaining\n  x86-64: update pci-gart iommu to sg helpers\n  x86-64: update nommu to sg helpers\n  x86-64: update calgary iommu to sg helpers\n  swiotlb: sg chaining support\n  i386: enable sg chaining\n  i386 dma_map_sg: convert to using sg helpers\n  mmc: need to zero sglist on init\n  Panic in blk_rq_map_sg() from CCISS driver\n  remove sglist_len\n  remove blk_queue_max_phys_segments in libata\n  revert sg segment size ifdefs\n  Fixup u14-34f ENABLE_SG_CHAINING\n  qla1280: enable use_sg_chaining option\n  ...\n"
    },
    {
      "commit": "8889e3c129780cdbe15fed3c366ba3aa3026684d",
      "tree": "6dd87deff0a8b2423b79a4f0234f7b234a259e37",
      "parents": [
        "fd820f405574a30aacf9a859886e173d641f080b"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 18 12:16:45 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 11:24:44 2007 +0200"
      },
      "message": "remove blk_queue_max_phys_segments in libata\n\nLIBATA_MAX_PRD is the maximum number of DMA scatter/gather elements\npermitted by the HBA\u0027s DMA engine. It\u0027s properly set to\nq-\u003emax_hw_segments via the sg_tablesize parameter.\n\nlibata shouldn\u0027t call blk_queue_max_phys_segments. Now LIBATA_MAX_PRD\nis equal to SCSI_MAX_PHYS_SEGMENTS by default (both is 128), so\neverything is fine. But if they are changed, some code (like the scsi\nmid layer, sg chaining, etc) might not work properly.\n\n(Addition from Jens) The basic issue is that the physical segment\nsetting is purely a driver issue. And since SCSI is managing the sglist,\nlibata has no business changing the setting. All libata should care\nabout is the hw segment setting.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c5d0e6a0d225c03b59a0a70f940e439085235ba2",
      "tree": "c041f599955a1e9ac97416da2307ac9050612cfe",
      "parents": [
        "23f9b75e79f6fbe438a20d10a11ca45a14b8a584"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Oct 15 17:29:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 17:56:36 2007 -0700"
      },
      "message": "docbook: fix libata content\n\nFix libata docbook warnings.\n\nWarning(linux-2.6.23-git8//drivers/ata/libata-scsi.c:3251): No description found for parameter \u0027dev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f58db80267c24e15d959e372d23651a43443c5f3",
      "tree": "bcbc79c4c4232b68a5a5b109f27083c2e55c64b1",
      "parents": [
        "f140f0f12fc8dc7264d2f97cbe663564e7d24f6d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Oct 10 15:57:44 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Oct 15 15:24:54 2007 -0400"
      },
      "message": "libata: fix revalidation issuing after configuration commands\n\nAfter commands which can change device configuration, EH is scheduled\nto revalidate and reconfigure the device.  Host link was incorrectly\nused unconditionally when scheduling EH action.  This resulted in\nbogus revalidation request and mismatched configuration between device\nand driver.  Fix it.\n\nThis bug was reported by Igor Durdanovic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Igor Durdanovic \u003cidurdanovic@comcast.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2",
      "tree": "3d1b15c4314568dd7ccedb43a406060d5b6093be",
      "parents": [
        "681c80b5d96076f447e8101ac4325c82d8dce508"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 02 13:53:04 2007 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:45 2007 -0400"
      },
      "message": "libata_scsi: Fix ATAPI transfer lengths\n\nSome controller variants snoop the ATAPI length value for Packet\ntransfers to do state machine and FIFO management. Thus we want to\nset it properly, even for cases where it is otherwise meaningless.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d77b247088fb360aa74bfdd9e19bce1e1987668",
      "tree": "add1b03309dd6fa82eb0f47e1a88766695f38f28",
      "parents": [
        "e31e8531d668c9c4dc7883054788f89805188003"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:42 2007 -0400"
      },
      "message": "libata-pmp-prep: implement sata_async_notification()\n\nAN serves multiple purposes.  For ATAPI, it\u0027s used for media change\nnotification.  For PMP, for downstream PHY status change notification.\nImplement sata_async_notification() which demultiplexes AN.\n\nTo avoid unnecessary port events, ATAPI AN is not enabled if PMP is\nattached but SNTF is not available.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e31e8531d668c9c4dc7883054788f89805188003",
      "tree": "9c3762792344d24c996d6459409456664a2e381b",
      "parents": [
        "668108d73bbb1ae85f01db38d6be822fd28ece1f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:13 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ATA_HORKAGE_SKIP_PM\n\nSome pseudo devices fail PM commands unnecessarily aborting system\nsuspend.  Implement ATA_HORKAGE_SKIP_PM which makes libata skip PM\ncommands for these devices.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "31cc23b34913bc173680bdc87af79e551bf8cc0d",
      "tree": "ec64421ead9259174f0de8b22c36449ece6d69a4",
      "parents": [
        "fb7fd61454c8681cd2621051a710b78a00369203"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:12 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:41 2007 -0400"
      },
      "message": "libata-pmp-prep: implement ops-\u003eqc_defer()\n\nControllers which support PMP have various restrictions on which\ncombinations of commands are allowed to what number of devices\nconcurrently.  This patch implements ops-\u003eqc_defer() which determines\nwhether a qc can be issued at the moment or should be deferred.\n\nIf the function returns ATA_DEFER_LINK, the qc will be deferred until\na qc completes on the link.  If ATA_DEFER_PORT, until a qc completes\non any link.  The defer conditions are advisory and in general\nATA_DEFER_LINK can be considered as lower priority deferring than\nATA_DEFER_PORT.\n\nops-\u003eqc_defer() replaces fixed ata_scmd_need_defer().  For standard\nNCQ/non-NCQ exclusion, ata_std_qc_defer() is implemented.  ahci and\nsata_sil24 are converted to use ata_std_qc_defer().\n\nops-\u003eqc_defer() is heavier than the original mechanism because full qc\nis prepped before determining to defer it, but various information is\nneeded to determine defer conditinos and fully translating a qc is the\nonly way to supply such information in generic manner.\n\nIMHO, this shouldn\u0027t cause any noticeable performance issues as\n\n* for most cases deferring occurs rarely (except for NCQ-aware\n  cmd-switching PMP)\n* translation itself isn\u0027t that expensive\n* once deferred the command won\u0027t be repeated until another command\n  completes which usually is a very long time cpu-wise.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "854c73a2f1c3bcc4aa88c25e208dc597e8efb795",
      "tree": "210569f3c4fa4f9413ceb0bc3fcf89648a9894b2",
      "parents": [
        "c78968bb0f7714ceba1cdfa23714454fc98cefdf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Sep 23 13:14:11 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "libata: misc updates for AN\n\nUpdate AN support in preparation of PMP support.\n\n* s/ata_id_has_AN/ata_id_has_atapi_AN/\n* add AN enabled reporting during configuration\n* add err_mask to AN configuration failure reporting\n* update LOCKING comment for ata_scsi_media_change_notify()\n* check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify()\n* set ATA_FLAG_AN in ahci and sata_sil24\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Kriten Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c78968bb0f7714ceba1cdfa23714454fc98cefdf",
      "tree": "cbf066559205ce0d00829c74a406f3a2140623e4",
      "parents": [
        "24f756866676b40446e361c1f87738707161da93"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 21:03:28 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: simulator version, not device version, belongs in VPD\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "24f756866676b40446e361c1f87738707161da93",
      "tree": "2709ec5b4bb5f0e9c980621e7a1a2b97bdcd7a93",
      "parents": [
        "00bd02027fc4a5cf92a3e538896b3642b40515df"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:54:49 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: clean up R/W recovery mode page\n\nClear ARRE, we don\u0027t do auto-reallocation on reads, just on writes.\n\nAlso, hardcode the size of the array using RW_RECOVERY_MPAGE_LEN,\nfollowing the style of the surrounding code.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "00bd02027fc4a5cf92a3e538896b3642b40515df",
      "tree": "e5e2a72a467577a5a65be5886f96039c2f62a8af",
      "parents": [
        "453941455218a81eedcea5dbafa38b8815920a8c"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 07:26:08 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: improve FORMAT UNIT; minor code cleanups\n\n* SAT specifies that FORMAT UNIT should be translated into a series\n  of READ and WRITE commands that zero the ATA device.  That is far too\n  cumbersome to bother with.\n\n  Since we don\u0027t actually format the device, the old behavior of\n  always returning success was inaccurate.  Change FORMAT UNIT from\n  returning success immediately (old behavior) to always returning\n  an error (new behavior).\n\n* Add some comments around SYNCHRONIZE CACHE\n\n* Shuffle scsi command code around a bit, so that things are close\n  to alphabetic order.\n\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "453941455218a81eedcea5dbafa38b8815920a8c",
      "tree": "b2f21afae3beb39da13f089c02f0f09bfc4de697",
      "parents": [
        "ad355b4628a19ba2af30409e13083edda221a5c9"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 06:23:42 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] Slightly improved no-op REQUEST SENSE, SEND DIAGNOSTIC\n\nA few pedantic apps care about missing or lame \"mandatory\" SCSI\ncommands, so\n\nREQUEST SENSE -- as we autosense, R.S. just returns zeroes\n\nSEND DIAGNOSTIC -- our default (no-op) self-test succeeds, all\n\t\t   other requests for testing fail.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ad355b4628a19ba2af30409e13083edda221a5c9",
      "tree": "775ade42b8a7e67d0c687b54f01f13122c2482db",
      "parents": [
        "d4155e6f13e931048036976d9fb47b5db53ee7a3"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 21 20:38:03 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:40 2007 -0400"
      },
      "message": "[libata] SCSI: support INQUIRY page 89h (ATA info page)\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7120165cf31e989baf7836218ca0a13643074735",
      "tree": "c3297a0ce98a012edf582348132090aa6a1764f7",
      "parents": [
        "e10b8c3f5f23188e065b1845ba732570eca007fe"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Sep 18 17:48:50 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "libata-scsi: convert to use the data buffer accessors\n\n  simple search-and-replace of direct scsi_cmnd access to\n  use the data buffer accessors.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e10b8c3f5f23188e065b1845ba732570eca007fe",
      "tree": "f236f3a850bbefc16e4819992a725f678c6a0421",
      "parents": [
        "d2a84f47899d1efc24fa610696f7b793692279c7"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Sep 18 17:46:12 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:38 2007 -0400"
      },
      "message": "libata-scsi: Remove !use_sg code paths\n\n     This is a minimal patch needed to remove use of !use_sg\n     but it is not a complete clean up of the !use_sg paths.\n     Libata-core still has the qc-\u003eflags \u0026 ATA_QCFLAG_SG\n     and !qc-\u003en_elem code paths. Perhaps an ata maintainer\n     would have a go at it.\n\n     - TODO: further cleanup of qc-\u003eflags \u0026 ATA_QCFLAG_SG\n       and !qc-\u003en_elem code paths in libata-core\n     - TODO: Use scsi_dma_{map,unmap} where applicable.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2f2949680ad89d606db838340b17c30216c0bb0f",
      "tree": "25d7918c7b846d151776bbdf6a111a1d241d6b05",
      "parents": [
        "9f45cbd3f0fc597530aaf85cad7fe52cd63f1fd8"
      ],
      "author": {
        "name": "Kristen Carlson Accardi",
        "email": "kristen.c.accardi@intel.com",
        "time": "Wed Aug 15 04:11:25 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:33 2007 -0400"
      },
      "message": "[libata] ahci: send event when AN received\n\nWhen we get an SDB FIS with the \u0027N\u0027 bit set, we should send\nan event to user space to indicate that there has been a\nmedia change.  This will be done via the scsi device.\n\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "baf4fdfaaf5cb9f4fb1c341c8cef60a64e580582",
      "tree": "f26293a36958a6813bf1353cb07afd3d6be6aa0d",
      "parents": [
        "4cc980b34b2a25f600576dcd11de388bc44e1ebd"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Wed Aug 08 01:08:45 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:32 2007 -0400"
      },
      "message": "libata: add support for ATA_16 on ATAPI\n\nAdd support for issuing ATA_16 passthru commands to ATAPI devices\nmanaged by libata.  It requires the previous CDB length fix patch.\n\nA boot/module parameter, \"atapi_passthru16\u003d0\" can be used to globally\ndisable this feature, if ever desired.\n\ntj: restructured __ata_scsi_queuecmd() according to Jeff\u0027s suggestion.\n\nSigned-off-by: Mark Lord \u003climl@rtr.ca\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "41bda9c98035dd3589b02cbc1de02f71d2faf9c8",
      "tree": "2a5b0c85584d443c1c8f7cb2b592e75bea3da6cf",
      "parents": [
        "9b1e2658faf3f3095a96558c333b333c0e29dbc0"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 06 18:36:24 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:32 2007 -0400"
      },
      "message": "libata-link: update hotplug to handle PMP links\n\nUpdate hotplug to handle PMP links.  When PMP is attached, the PMP\nnumber corresponds to C of SCSI H:C:I:L.  While at it, change argument\nto ata_find_dev() to @devno from @id to avoid confusion with SCSI\ndevice ID.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f58229f8060055b08b34008ea08f31de1e2f003c",
      "tree": "6ca5ef546671cb975ef3632fb032c238eaf1bb4c",
      "parents": [
        "9af5c9c97dc9d599281778864c72b385f0c63341"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 06 18:36:23 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:30 2007 -0400"
      },
      "message": "libata-link: implement and use link/device iterators\n\nMultiple links and different number of devices per link should be\nconsidered to iterate over links and devices.  This patch implements\nand uses link and device iterators - ata_port_for_each_link() and\nata_link_for_each_dev() - and ata_link_max_devices().\n\nThis change makes a lot of functions iterate over only possible\ndevices instead of from dev 0 to dev ATA_MAX_DEVICES.  All such\nchanges have been examined and nothing should be broken.\n\nWhile at it, add a separating comment before device helpers to\ndistinguish them better from link helpers and others.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9af5c9c97dc9d599281778864c72b385f0c63341",
      "tree": "8359986bd42c4a9a5b1993078aa9ee4c7971ac3d",
      "parents": [
        "640fdb504941fa2b9f6f274716fc9f97f2bf6bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Aug 06 18:36:22 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Oct 12 14:55:30 2007 -0400"
      },
      "message": "libata-link: introduce ata_link\n\nIntroduce ata_link.  It abstracts PHY and sits between ata_port and\nata_device.  This new level of abstraction is necessary to support\nSATA Port Multiplier, which basically adds a bunch of links (PHYs) to\na ATA host port.  Fields related to command execution, spd_limit and\nEH are per-link and thus moved to ata_link.\n\nThis patch only defines the host link.  Multiple link handling will be\nadded later.  Also, a lot of ap-\u003elink derefences are added but many of\nthem will be removed as each part is converted to deal directly with\nata_link instead of ata_port.\n\nThis patch introduces no behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1ae463171cc1b1ea6dad7bcb298e96c073e7373e",
      "tree": "c3d62562c9be8c855f7238785ea9c9348f1e56f1",
      "parents": [
        "f1545154a5c96590b1992aac8ee1e2c445e301ed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jul 16 14:29:40 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Jul 20 08:26:25 2007 -0400"
      },
      "message": "libata: improve SCSI scan failure handling\n\nSCSI scan may fail due to memory allocation failure even if EH is not\nin progress.  Due to use of GFP_ATOMIC in SCSI scan path, allocation\nfailure isn\u0027t too rare especially while probing multiple devices at\nonce which is the case when a bunch of devices are connected to PMP.\n\nThis patch moves SCSI scan failure detetion logic from\nata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous\nscan behavior.  The synchronous path sleeps briefly and repeats SCSI\nscan if some devices aren\u0027t attached properly.  It contains robust\nretry loop to minimize the chance of device misdetection during boot\nand falls back to async retry if everything fails.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d26fc9551a15fdad0d5de8376a78816b8af44f00",
      "tree": "5c829c1baf499ad1f31ed4b8b41e766b290a6306",
      "parents": [
        "c1e6f28cc5de37dcd113b9668a185c0b9334ba8a"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Jul 06 19:13:52 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Jul 09 12:17:35 2007 -0400"
      },
      "message": "libata: Support chips with 64K PRD quirk\n\nAdd ata_dumb_qc_prep and supporting logic so that a driver can just\nspecify it needs to be helped in this area. 64K entries are split\nas with drivers/ide.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e00f1ff3c8977eff07d0214d2f3478ac947bda0f",
      "tree": "1209cd341d4be66b319d2779ffb91d0b5988e42f",
      "parents": [
        "914616a3c2a54504f3b0eda0b67fcd32226b3e83"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jun 27 02:47:35 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jun 27 02:50:08 2007 -0400"
      },
      "message": "libata: call ata_check_atapi_dma() with qc better prepared\n\nIn atapi_xlat(), prepare qc better before calling\nata_check_atapi_dma() such that ata_check_atapi_dma() can use info\nfrom qc.  While at it, reformat weird looking if/else block in the\nfunction.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2c3d2a46f1ccf591850b20f4fdde12bcf2bf3dfd",
      "tree": "148a2cd32ae40185bb547cb96cd17bcd920b8ab0",
      "parents": [
        "fa4453c4c94a61bbefe470b16ddbb6218481c6dc"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu Jun 07 16:01:17 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jun 09 23:08:12 2007 -0400"
      },
      "message": "libata passthru: update cached device paramters\n\nINIT_DEV_PARAMS and SET_MULTI_MODE change the device parameters cached\nby libata.  Re-read IDENTIFY DEVICE info and update the cached device\nparamters when seeing these commands.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fa4453c4c94a61bbefe470b16ddbb6218481c6dc",
      "tree": "63a861f6fdb92729f7f15b65684e5add0bac5c62",
      "parents": [
        "23cb1d718ddbeb718ed7ca5be283dcbfb63993c3"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu Jun 07 15:52:07 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jun 09 23:08:12 2007 -0400"
      },
      "message": "libata passthru: always enforce correct DEV bit\n\n Always enforce correct DEV bit since we know which drive the command\nis targeted. SAT demands to ignore the DEV bit, too.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "23cb1d718ddbeb718ed7ca5be283dcbfb63993c3",
      "tree": "1c569650afa5b6916a68e71656aafdec9ba4163d",
      "parents": [
        "1dce589c38c36ae69614840ee230183f3a7d43c5"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu Jun 07 15:50:44 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jun 09 23:08:11 2007 -0400"
      },
      "message": "libata passthru: map UDMA protocols\n\n Map the ATA passthru UDMA protocols to ATA_PROT_DMA.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1dce589c38c36ae69614840ee230183f3a7d43c5",
      "tree": "b236f4ee06cca72bc07d88f6fbbf87ddc6b8ab83",
      "parents": [
        "f93f1078d08e0f63a6a4bdaa154de3642fc03d5d"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu Jun 07 15:49:22 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jun 09 23:08:11 2007 -0400"
      },
      "message": "libata passthru: support PIO multi commands\n\n  support the pass through of PIO multi commands.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f93f1078d08e0f63a6a4bdaa154de3642fc03d5d",
      "tree": "7baa983d1a2c0b5a4ece57e8d23d9e40d9fd521f",
      "parents": [
        "6070068b875f604ff3f62e6e342bbd4c1f34a895"
      ],
      "author": {
        "name": "Albert Lee",
        "email": "albertcc@tw.ibm.com",
        "time": "Thu Jun 07 15:47:13 2007 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Jun 09 23:08:11 2007 -0400"
      },
      "message": "libata passthru: update protocol numbers\n\n Update the ATA passthru protocol numbers according to the new spec.\n\nSigned-off-by: Albert Lee \u003calbertcc@tw.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6c7b7d2b7615110edbc4ea7816831c13b0250ebb",
      "tree": "63c408afb9290dbcaac53f46f3c1b6b19910bc70",
      "parents": [
        "ddfc87a098a0172ad13ce50edf55d5fe266f1352"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 25 04:39:39 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 25 04:39:39 2007 -0400"
      },
      "message": "[libata] Fix decoding of 6-byte commands\n\nThe code for parsing 6-byte SCSI command LBAs\nmissed the top 5 bits (the MSB).\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "d9aca22cf443f5ed77d15a320abbab055ae4a976",
      "tree": "a808d879baf21a557a93e9ef3a0d96b004985f8b",
      "parents": [
        "1daf9ce74e0e0ef8ffde800ab495339458c3375f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu May 17 16:43:26 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu May 17 20:57:38 2007 -0400"
      },
      "message": "libata: remove libata.spindown_compat\n\nWith STANDBYDOWN tracking added, libata.spindown_compat isn\u0027t\nnecessary anymore.  If userspace shutdown(8) issues STANDBYNOW, libata\nwarns.  If userspace shutdown(8) doesn\u0027t issue STANDBYNOW, libata does\nthe right thing.  Userspace can tell whether kernel supports spindown\nby testing whether sysfs node manage_start_stop exists as before.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "13b8d09f5de0aaa3153bbccc98baf247387823dc",
      "tree": "d35c90bd2460d7808595917ccf7c102229353365",
      "parents": [
        "da071b42f73dabbd0daf7ea4c3ff157d53b00648"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue May 15 12:29:22 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata: track spindown status and skip spindown_compat if possible\n\nOur assumption that most distros issue STANDBYNOW seems wrong.  The\nupstream sysvinit and thus many distros including gentoo and opensuse\ndon\u0027t take any action for libata disks on spindown.  We can skip\ncompat handling for these distros so that they don\u0027t need to update\nanything to take advantage of kernel-side shutdown.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da071b42f73dabbd0daf7ea4c3ff157d53b00648",
      "tree": "6b8aa61169f6c18263821d9c5fe298b3b2eb6b21",
      "parents": [
        "3cadbcc09891b8544203f211dac13f9cc4e6832a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon May 14 17:26:18 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed May 16 01:18:31 2007 -0400"
      },
      "message": "libata: fix shutdown warning message printing\n\nUnlocking ap-\u003elock and ssleeping don\u0027t work because SCSI commands can\nbe issued from completion path without context.  Reimplement delayed\ncompletion by allowing translation functions to override\nqc-\u003escsidone(), storing the original completion function to\nscmd-\u003escsi_done() and overriding qc-\u003escsidone() with a function which\nschedules delayed invocation of scmd-\u003escsi_done().\n\nThis isn\u0027t pretty at all but all the ugly parts are thankfully\ncontained in the stop translation path where the compat feature is\nimplemented.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "920a4b1038e442700a1cfac77ea7e20bd615a2c3",
      "tree": "4209c04b64b021a3e4253a484b108b2475a2860a",
      "parents": [
        "9666f4009c22f6520ac3fb8a19c9e32ab973e828"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 21:28:48 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:01:04 2007 -0400"
      },
      "message": "libata: implement libata.spindown_compat\n\nNow that libata uses sd-\u003emanage_start_stop, libata spins down disk on\nshutdown.  In an attempt to compensate libata\u0027s previous shortcoming,\nsome distros sync and spin down disks attached via libata in their\nshutdown(8).  Some disks spin back up just to spin down again on\nSTANDBYNOW1 if the command is issued when the disk is spun down, so\nthis double spinning down causes problem.\n\nThis patch implements module parameter libata.spindown_compat which,\nwhen set to one (default value), prevents libata from spinning down\ndisks on shutdown thus avoiding double spinning down.  Note that\nlibata spins down disks for suspend to mem and disk, so with\nlibata.spindown_compat set to one, disks should be properly spun down\nin all cases without modifying shutdown(8).\n\nshutdown(8) should be fixed eventually.  Some drive do spin up on\nSYNCHRONZE_CACHE even when their cache is clean.  Those disks\ncurrently spin up briefly when sd tries to shutdown the device and\nthen the machine powers off immediately, which can\u0027t be good for the\nhead.  We can\u0027t skip SYNCHRONIZE_CACHE during shudown as it can be\ndangerous data integrity-wise.\n\nSo, this spindown_compat parameter is already scheduled for removal by\nthe end of the next year and here\u0027s what shutdown(8) should do.\n\n  * Check whether /sys/modules/libata/parameters/spindown_compat\n    exists.  If it does, write 0 to it.\n\n  * For each libata harddisk {\n\t* Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop\n\t  exists.  Iff it doesn\u0027t, synchronize cache and spin the disk\n\t  down as before.\n  }\n\nThe above procedure will make shutdown(8) work properly with kernels\nbefore this change, ones with this workaround and later ones without\nit.\n\nTo accelerate shutdown(8) updates, if the compat mode is in use, this\npatch prints BIG FAT warning for five seconds during shutdown (the\noptimal interval to annoy the user just the right amount discovered by\nhours of tireless usability testing).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9666f4009c22f6520ac3fb8a19c9e32ab973e828",
      "tree": "eaac13cd5890af6298e5576a48c29891f0890bd1",
      "parents": [
        "0a3fd051c7036ef71b58863f8e5da7c3dabd9d3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri May 04 21:27:47 2007 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri May 11 18:01:03 2007 -0400"
      },
      "message": "libata: reimplement suspend/resume support using sdev-\u003emanage_start_stop\n\nReimplement suspend/resume support using sdev-\u003emanage_start_stop.\n\n* Device suspend/resume is now SCSI layer\u0027s responsibility and the\n  code is simplified a lot.\n\n* DPM is dropped.  This also simplifies code a lot.  Suspend/resume\n  status is port-wide now.\n\n* ata_scsi_device_suspend/resume() and ata_dev_ready() removed.\n\n* Resume now has to wait for disk to spin up before proceeding.  I\n  couldn\u0027t find easy way out as libata is in EH waiting for the\n  disk to be ready and sd is waiting for EH to complete to issue\n  START_STOP.\n\n* sdev-\u003emanage_start_stop is set to 1 in ata_scsi_slave_config().\n  This fixes spindown on shutdown and suspend-to-disk.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f31871951b38daf2d7ca17daad59fdb735062da3",
      "tree": "4286402eaf679b6fb73e893d8e51bb693559091d",
      "parents": [
        "ecef7253235e7a9365afe08a508e11bed91c1c11"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Apr 17 23:44:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:03 2007 -0400"
      },
      "message": "libata: separate out ata_host_alloc() and ata_host_register()\n\nReorganize ata_host_alloc() and its subroutines into the following\nthree functions.\n\n* ata_host_alloc() : allocates host and its ports.  shost is not\n  registered automatically.\n\n* ata_scsi_add_hosts() : allocates and adds shosts associated with an\n  ATA host.  Used by ata_host_register().\n\n* ata_host_register() : takes a fully initialized ata_host structure\n  and registers it to libata layer and probes it.\n\nOnly ata_host_alloc() and ata_host_register() are exported.\nata_device_add() is rewritten using the above functions.  This patch\ndoes not introduce any observable behavior change.  Things worth\nmentioning.\n\n* print_id is assigned at registration time and LLDs are allowed to\n  overallocate ports and reduce host-\u003en_ports during initialization.\n  ata_host_register() will throw away unused ports automatically.\n\n* All SCSI host initialization stuff now resides in\n  ata_scsi_add_hosts() in libata-scsi.c, where it should be.\n\n* ipr is now the only user of ata_host_init().  Either kill it by\n  converting ipr to use ata_host_alloc() and friends or rename and\n  move it to libata-scsi.c\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5a5dbd18a7496ed403f6f54bb20c955c65482fa5",
      "tree": "031eec40ab42ac4ab04e59db539b8126ac31fb6d",
      "parents": [
        "1234010684bb9cde51125ec3d1c71054a9f24f47"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Fri Mar 16 10:22:26 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:16:01 2007 -0400"
      },
      "message": "libata: add support for READ/WRITE LONG\n\nThe READ/WRITE LONG commands are theoretically obsolete,\nbut the majority of drives in existance still implement them.\n\nThe WRITE_LONG and WRITE_LONG_ONCE commands are of particular\ninterest for fault injection testing -- eg. creating \"media errors\"\nat specific locations on a disk.\n\nThe fussy bit is that these commands require a non-standard\nsector size, usually 520 bytes instead of 512.\n\nThis patch adds support to libata for READ/WRITE LONG commands\nissued via SG_IO/ATA_16.\n\nSigned-off-by:  Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f0ef88ed413232daebfe675c7b1bbf100d604d4b",
      "tree": "fc235d7aede0d6c4d2e500ef5d0446122eaa611a",
      "parents": [
        "cd0d3bbcdd650651b7ccfaf55d107e3fc237d95a"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Fri Feb 02 12:36:25 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 14:15:55 2007 -0400"
      },
      "message": "RESEND: libata: check cdb len per dev instead of per host\n\nResending, with s/printk/DPRINTK/ as pointed out by Alan.\n\nFix libata to perform CDB len validation per device\nrather than per host.  This way, validation still works\nwhen we have a mix of 12-byte and 16-byte devices on\na common host interface.\n\nSigned-off-by: Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "277239f228654fc03affdf2aa0e7a3969f420415",
      "tree": "d49b4eb2b7190e7624d312925fef5a4670043ae5",
      "parents": [
        "4742d54fa4b391342dfb8f34de14d51da101fb39"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "mlord@pobox.com",
        "time": "Fri Mar 30 17:45:52 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Apr 04 02:07:28 2007 -0400"
      },
      "message": "libata bugfix: preserve LBA bit for HDIO_DRIVE_TASK\n\nPreserve the LBA bit in the DevSel/Head register for HDIO_DRIVE_TASK.\n\nSigned-off-by:  Mark Lord \u003cmlord@pobox.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6ffa01d88c9dd45e2ed917b5eeeb494d07efb1ab",
      "tree": "3fe262ccaa1c0f8c5e5d187216d8bfc70db34d95",
      "parents": [
        "438ac6d5e3f8106a6bd1a5682c508d660294a85d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Fri Mar 02 17:32:47 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Mar 02 18:30:35 2007 -0500"
      },
      "message": "libata: add CONFIG_PM to libata core layer\n\nConditionalize all PM related stuff in libata core layer using\nCONFIG_PM.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "44877b4e22f391d39c6589412106a3668e81a05b",
      "tree": "10bf134c2c8c15e3504d67461b42f53c6de88523",
      "parents": [
        "5ce0cf6fafd02fb4c43fc1a1bee6069d6c0a36b1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Feb 21 01:06:51 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 21 04:58:20 2007 -0500"
      },
      "message": "libata: s/ap-\u003eid/ap-\u003eprint_id/g\n\nata_port has two different id fields - id and port_no.  id is\nsystem-wide 1-based unique id for the port while port_no is 0-based\nhost-wide port number.  The former is primarily used to identify the\nATA port to the user in printk messages while the latter is used in\nvarious places in libata core and LLDs to index the port inside the\nhost.\n\nThe two fields feel quite similar and sometimes ap-\u003eid is used in\nplace of ap-\u003eport_no, which is very difficult to spot.  This patch\nrenames ap-\u003eid to ap-\u003eprint_id to reduce the possibility of such bugs.\n\nSome printk messages are adjusted such that id string (ata%u[.%u])\nisn\u0027t printed twice and/or to use ata_*_printk() instead of hardcoded\nid format.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c3c70c443c2ef1fce31f201a93780c884b903993",
      "tree": "cfb23ec2831ad4f10c87f6362573db9eb6a33cbd",
      "parents": [
        "fcf1bf1584647f9fd864c193fee81840c4c5ce41"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 20 23:31:22 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 21 04:58:19 2007 -0500"
      },
      "message": "libata: fix ata_scsi_change_queue_depth()\n\nFix ata_scsi_change_queue_depth() such that...\n\n* NCQ on/off is exactly determined using the same logic as the issue path.\n\n* queue depth is adjusted to 1 if NCQ is not enabled.\n\n* -EINVAL is returned if requested action is ignored due to limitations.\n\nThis fixes the bug which allows queue depth to be increased on\nblacklisted NCQ hosts/devices.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "fcf1bf1584647f9fd864c193fee81840c4c5ce41",
      "tree": "6271f12b805d57edcb4ba908149c02e754c348e0",
      "parents": [
        "6d1245bf294e9ea65b3717be9fa0338bfb6ff6c9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 20 23:27:06 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 21 04:58:18 2007 -0500"
      },
      "message": "libata: fix ata_scmd_need_defer()\n\nFix ata_scmd_need_defer() such that...\n\n* whether NCQ is used or not is exactly determined using the same\n  criteria as the issue path.\n\n* defer-check is performed in all cases.\n\nThis fixes race condition where turning off NCQ on the fly causes\nnon-NCQ commands sneak into NCQ phase.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4d05447ec702364b8a2aebb4d625b16479268575",
      "tree": "1a3ed3c67f9c9ea5229aa3a368809101e9711bc7",
      "parents": [
        "8d9db2d2fbae9e05022825c32f86e00c8e342860"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Feb 18 02:24:37 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 21 04:58:17 2007 -0500"
      },
      "message": "libata: fix probe_ent alloc/free bugs\n\nata_probe_ent_alloc() had a temporary hack such that devm_kzalloc()\nwas used for allocation if devres had been previously initialized on\nthe device; otherwise, plain kzalloc() was used.  This was to make the\ncode useable from both the old and devres-aware libata drivers during\ntransition.  This hack made ata_sas_port_alloc() unable to determine\nhow the probe_ent is allocated, causing double free in some cases.\n\nRemove the now-unneeded hack and make ata_sas_port_alloc() use\ndevm_kfree().\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2b06719153089aa8f5ac577f15f8aa8e5b5fe357",
      "tree": "306d99bdb306a43aab31f7a6104b54b8e68dccfd",
      "parents": [
        "909706a2477a92b6e0f3083ed4b944cb1d09acfa"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "liml@rtr.ca",
        "time": "Wed Feb 07 11:40:12 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Feb 21 04:58:17 2007 -0500"
      },
      "message": "libata bugfix: HDIO_DRIVE_TASK\n\nI was trying to use HDIO_DRIVE_TASK for something today,\nand discovered that the libata implementation does not copy\nover the upper four LBA bits from args[6].\n\nThis is serious, as any tools using this ioctl would have their\ncommands applied to the wrong sectors on the drive, possibly resulting\nin disk corruption.\n\nIdeally, newer apps should use SG_IO/ATA_16 directly,\navoiding this bug.  But with libata poised to displace drivers/ide,\nbetter compatibility here is a must.\n\nThis patch fixes libata to use the upper four LBA bits passed\nin from the ioctl.\n\nThe original drivers/ide implementation copies over all bits\nexcept for the master/slave select bit.  With this patch,\nlibata will copy only the four high-order LBA bits,\njust in case there are assumptions elsewhere in libata (?).\n\nSigned-Off-By:  Mark Lord \u003cmlord@pobox.com\u003e\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f0d36efdc624beb3d9e29b9ab9e9537bf0f25d5b",
      "tree": "eac4efb465aa682d6eaac61f76b3174ffd9fd8cd",
      "parents": [
        "0529c159dbdd79794796c1b50b39442d72efbe97"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 20 16:00:28 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:37 2007 -0500"
      },
      "message": "libata: update libata core layer to use devres\n\nUpdate libata core layer to use devres.\n\n* ata_device_add() acquires all resources in managed mode.\n\n* ata_host is allocated as devres associated with ata_host_release.\n\n* Port attached status is handled as devres associated with\n  ata_host_attach_release().\n\n* Initialization failure and host removal is handedl by releasing\n  devres group.\n\n* Except for ata_scsi_release() removal, LLD interface remains the\n  same.  Some functions use hacky is_managed test to support both\n  managed and unmanaged devices.  These will go away once all LLDs are\n  updated to use devres.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5924b74c1cde5ef0246cf0dfbe689b27ffbe815b",
      "tree": "c4f71c6c5b607d01ceef359275cb9868662dbd21",
      "parents": [
        "18d90deb07ed6fc1818b0f0b326ecc788cea514e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 02 20:20:07 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:34 2007 -0500"
      },
      "message": "libata: implement HDIO_GET_IDENTITY\n\n\u0027hdparm -I\u0027 doesn\u0027t work with ATAPI devices and sg_sat is not widely\nspread yet leaving no easy way to access ATAPI IDENTIFY data.\nImplement HDIO_GET_IDENTITY such that at least \u0027hdparm -i\u0027 works.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "726f0785b608d09bdd64bdbadc09217ebbf9920e",
      "tree": "cefc97e9d5fefb2735b1b7a5ca22d3b3cc742b13",
      "parents": [
        "16454445e1f0ca21ca2f29accb58478a7ff765a2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 03 17:30:39 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:31 2007 -0500"
      },
      "message": "libata: kill qc-\u003ensect and cursect\n\nlibata used two separate sets of variables to record request size and\ncurrent offset for ATA and ATAPI.  This is confusing and fragile.\nThis patch replaces qc-\u003ensect/cursect with qc-\u003enbytes/curbytes and\nkills them.  Also, ata_pio_sector() is updated to use bytes for\nqc-\u003ecursg_ofs instead of sectors.  The field used to be used in bytes\nfor ATAPI and in sectors for ATA.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a0cf733b333eeeafb7324e2897448006c693c26c",
      "tree": "9a08b3e197cf4d1d17c39ed93cbcdd26fd722316",
      "parents": [
        "cdf56bcf14b9d441777703eef95eef807e4136ec"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 02 20:18:49 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:30 2007 -0500"
      },
      "message": "libata: straighten out ATA_ID_* constants\n\n* Kill _OFS suffixes in ATA_ID_{SERNO|FW_REV|PROD}_OFS for consistency\n  with other ATA_ID_* constants.\n\n* Kill ATA_SERNO_LEN\n\n* Add and use ATA_ID_SERNO_LEN, ATA_ID_FW_REV_LEN and ATA_ID_PROD_LEN.\n  This change also makes ata_device_blacklisted() use proper length\n  for fwrev.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7102d230d6e8cf48ab366fa110c0a7f5ea160d07",
      "tree": "6771763556f65654abae30c18e9092285ff7044b",
      "parents": [
        "904dbd1307100edc12e2f98dd12b2338f1914f5b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jan 04 00:09:36 2007 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:30 2007 -0500"
      },
      "message": "drivers/ata/: make 4 functions static\n\nThis patch makes the following needlessly global functions static:\n- libata-core.c: ata_qc_complete_internal()\n- libata-scsi.c: ata_scsi_qc_new()\n- libata-scsi.c: ata_dump_status()\n- libata-scsi.c: ata_to_sense_error()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7a44e910f43cbb5186e7242f4c32b3a5d2fb6666",
      "tree": "94d0831a769d73222c792464f8ae05aaae0ba62a",
      "parents": [
        "d4013f07bd5380178bf28ef1cd76649779367288"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Dec 19 13:05:53 2006 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:29 2007 -0500"
      },
      "message": "[PATCH] user of the jiffies rounding patch: ATA subsystem\n\nThis patch introduces users of the round_jiffies() function: ATA subsystem\n\nThis delayed work is of the \"about once a second\" variety and can be rounded\nto coincide with other wakers.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "78981a7c6c34bddbb90da72cf6ce10953e84aad8",
      "tree": "65e9f6dc9e9c0e8462a32e09e511ef81617264d8",
      "parents": [
        "af068bd1debcc76c1bc265aa01401901bf0067ed"
      ],
      "author": {
        "name": "Robert Hancock",
        "email": "hancockr@shaw.ca",
        "time": "Tue Jan 30 00:59:18 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jan 30 09:20:39 2007 -0500"
      },
      "message": "libata: fix translation for START STOP UNIT\n\nlibata\u0027s SCSI translation for the SCSI START STOP UNIT command with the\nSTART bit clear (i.e.  stopping the drive) appears to be incorrect.  It\nsends an ATA STANDBY command with the time period set to 0, which the code\ncomment says means \"now\", but the ATA standard says this means disable the\nstandby timer, which effectively does nothing.  Change this to issue a\nSTANDBY IMMEDIATE command which will actually spin the drive down.  The SAT\n(SCSI/ATA Translation) standard revision 9 concurs with this choice.\n\nSigned-off-by: Robert Hancock \u003chancockr@shaw.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "af068bd1debcc76c1bc265aa01401901bf0067ed",
      "tree": "88d360e0974105ba87c6e05ddb4a06612406913d",
      "parents": [
        "2ca6611b1fc1f913f5370b3c50a0a35d817491b3"
      ],
      "author": {
        "name": "David Milburn",
        "email": "dmilburn@redhat.com",
        "time": "Tue Jan 30 00:59:15 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Jan 30 09:20:39 2007 -0500"
      },
      "message": "libata-scsi: ata_task_ioctl should return ATA registers from sense data\n\nUser applications using the HDIO_DRIVE_TASK ioctl through libata expect\nspecific ATA registers to be returned to userspace.  Verified that\nata_task_ioctl correctly returns register values to the smartctl\napplication.\n\nSigned-off-by: David Milburn \u003cdmilburn@redhat.com\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7a801184fa480e11e6431f184a5bdf31f63326fb",
      "tree": "b68cc5daee76cc564f7f48cc038f52be4a855be7",
      "parents": [
        "07c53dac4904206a50dd7c87adabbb1acff903fb"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Jan 17 12:32:12 2007 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Jan 24 02:04:34 2007 -0500"
      },
      "message": "libata: Fixup n_elem initialization\n\nFixup the inialization of qc-\u003en_elem. It currently gets\ninitialized to 1 for commands that do not transfer any data.\nFix this by initializing n_elem to 0 and only setting to 1\nin ata_scsi_qc_new when there is data to transfer. This fixes\nsome problems seen with SATA devices attached to ipr adapters.\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "2e5704f63ed56b040a3189f6b7eb17f6f849ea22",
      "tree": "4b3df2d375da3fefa5a8d22f6f41a9e5f7ce5798",
      "parents": [
        "ad706991f4f0d1476aecbdae2df5e36552b340b2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 17 10:46:33 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Dec 20 14:26:26 2006 -0500"
      },
      "message": "[PATCH] libata: take scmd-\u003ecmd_len into account when translating SCSI commands\n\nlibata depended on SCSI command to have the correct length when\ntranlating it into an ATA command.  This generally worked for commands\nissued by SCSI HLD but user could issue arbitrary broken command using\nsg interface.\n\nAlso, when building ATAPI command, full command size was always\ncopied.  Because some ATAPI devices needs bytes after CDB cleared, if\nupper layer doesn\u0027t clear bytes after CDB, such devices will\nmalfunction.  This necessiated recent clear-garbage-after-CDB fix in\nsg interfaces.  However, scsi_execute() isn\u0027t fixed yet and HL-DT-ST\nDVD-RAM GSA-H30N malfunctions on initialization commands issued from\nSCSI.\n\nThis patch makes xlat functions always consider SCSI cmd_len.  Each\ntranslation function checks for proper cmd_len and ATAPI translaation\nclears bytes after CDB.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ad706991f4f0d1476aecbdae2df5e36552b340b2",
      "tree": "3abc5ec16c191d168fd3a34dd1f6ea46491cb7b2",
      "parents": [
        "542b1444c5639e5964f9aa99e1cb231381d8a7a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 17 10:45:57 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Dec 20 14:26:26 2006 -0500"
      },
      "message": "[PATCH] libata: kill @cdb argument from xlat methods\n\nxlat function will be updated to consider qc-\u003escsicmd-\u003ecmd_len and\nmany xlat functions deference qc-\u003escsicmd already.  It doesn\u0027t make\nsense to pass qc-\u003escsicmd-\u003ecmnd as @cdb separately.  Kill the\nargument.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "542b1444c5639e5964f9aa99e1cb231381d8a7a4",
      "tree": "6cdc8ed951a8581f1e0ab0cedba9d5abe89e407f",
      "parents": [
        "6fbf5ba461f5bd36e921627568aca20abc0e2abe"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 17 10:45:08 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Dec 20 14:26:26 2006 -0500"
      },
      "message": "[PATCH] libata: clean up variable name usage in xlat related functions\n\nVariable names in xlat functions are quite confusing now.  \u0027scsicmd\u0027\nis used for CDB while qc-\u003escsicmd points to struct scsi_cmnd while\n\u0027cmd\u0027 is used for struct scsi_cmnd.\n\nThis patch cleans up variable names in xlat functions such that \u0027scmd\u0027\nis used for struct scsi_cmnd and \u0027cdb\u0027 for CDB.  Also, \u0027scmd\u0027 local\nvariable is added if qc-\u003escsicmd is used multiple times.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "da02d2a16ef3accd625f9e6e7bf83bb0f946ff62",
      "tree": "768172e71db53ff2178ee4fe5d2edc626a1545ec",
      "parents": [
        "fae07dc389bc32a3638b9d4c61dd3738ca3fb61d"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Dec 11 11:05:53 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 16 10:12:36 2006 -0500"
      },
      "message": "[libata] use kmap_atomic(KM_IRQ0) in SCSI simulator\n\nWe are inside spin_lock_irqsave().  quoth akpm\u0027s debug facility:\n\n [  231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB)\n [  232.232000] ata1.00: configured for UDMA/33\n [  232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic()\n [  232.404000]  [\u003cc01162e6\u003e] kmap_atomic+0xa9/0x1ab\n [  232.404000]  [\u003cc0242c81\u003e] ata_scsi_rbuf_get+0x1c/0x30\n [  232.404000]  [\u003cc0242caf\u003e] ata_scsi_rbuf_fill+0x1a/0x87\n [  232.404000]  [\u003cc0243ab2\u003e] ata_scsiop_mode_sense+0x0/0x309\n [  232.404000]  [\u003cc01729d5\u003e] end_bio_bh_io_sync+0x0/0x37\n [  232.404000]  [\u003cc02311c6\u003e] scsi_done+0x0/0x16\n [  232.404000]  [\u003cc02311c6\u003e] scsi_done+0x0/0x16\n [  232.404000]  [\u003cc0242dcc\u003e] ata_scsi_simulate+0xb0/0x13f\n[...]\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9db73724453a9350e1c22dbe732d427e2939a5c9",
      "tree": "15e3ead6413ae97398a54292acc199bee0864d42",
      "parents": [
        "4c1ac1b49122b805adfa4efc620592f68dccf5db",
        "e62438630ca37539c8cc1553710bbfaa3cf960a7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/ata/libata-scsi.c\n\tinclude/linux/libata.h\n\nFuther merge of Linus\u0027s head and compilation fixups.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "bd056d7eeb55d696556ee4f5ee2acb67b2d16df4",
      "tree": "f6ca604abc43d73d42354d977f1bcedd262dbcda",
      "parents": [
        "2432697ba0ce312d60be5009ffe1fa054a761bb9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Nov 14 22:47:10 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 03 17:56:24 2006 +0900"
      },
      "message": "[PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf()\n\nSeparate out rw ATA taskfile building from ata_scsi_rw_xlat() into\nata_build_rw_tf().  This will be used to improve media error handling.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "f84e7e41e1b88547218a3c3b1eb528005e9afdb4",
      "tree": "60142d47e5293405701ac44d97722762c7386beb",
      "parents": [
        "a569a30d301e4dbc0ad67a211292edece2da1146"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Nov 22 11:21:31 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 03 17:56:24 2006 +0900"
      },
      "message": "[PATCH] libata: make sure sdev doesn\u0027t go away while rescanning\n\nata_scsi_dev_rescan() doesn\u0027t synchronize against SCSI device detach\nand the target sdev might go away in the middle.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\n"
    },
    {
      "commit": "6a36261e63770ab61422550b774fe949ccca5fa9",
      "tree": "2bbd8271e01f933c6395fb1b836269ab939fca34",
      "parents": [
        "3d3cca37559e3ab2b574eda11ed5207ccdb8980a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Nov 20 11:15:47 2006 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Dec 03 17:56:23 2006 +0900"
      },
      "message": "[PATCH] libata: fix READ CAPACITY simulation\n\n* READ CAPACITY (16) implementation fixed.  Result was shifted by two\n  bytes.  Carlos Pardo spotted this problem and submitted preliminary\n  patch.  Capacity \u003d\u003e 2TB is handled correctly now.  (verifid w/ fake\n  capacity)\n\n* Use dev-\u003en_sectors instead of re-reading directly from ID data.\n\n* Define and use ATA_SCSI_RBUF_SET() which considers rbuf length.\n  This should be done for all simulation functions.  Userland can\n  issue any simulated command with arbitrary buffer length.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Carlos Pardo \u003cCarlos.Pardo@siliconimage.com\u003e\n"
    },
    {
      "commit": "d25614bad6eec8fb80f3ef5bffbf720ebb7d2412",
      "tree": "955408142e756dbb9dd0b9538525959d526bd8fc",
      "parents": [
        "35b649fe2587b2e569c17c022ba3506ba441b6a2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Nov 14 22:37:35 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:46:00 2006 -0500"
      },
      "message": "[PATCH] libata: improve SCSI sense data generation\n\nUpdate ata_gen_ata_sense() to use desc format sense data to report the\nfirst failed block.  The first failed block is read from result_tf\nusing ata_tf_read_block() which can handle all three address formats.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "750426aa1ad1ddd1fa8bb4ed531a7956f3b9a27c",
      "tree": "40772a293ad5249a678cbbc862ea10734d956b32",
      "parents": [
        "f38621b3109068adc8430bc2d170ccea59df4261"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Nov 14 22:37:35 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:46:00 2006 -0500"
      },
      "message": "[PATCH] libata: cosmetic changes to sense generation functions\n\n* s/ata_gen_ata_desc_sense/ata_gen_passthru_sense/\n\n* s/ata_gen_fixed_sense/ata_gen_ata_sense/\n\n* make both functions static\n\n* neither function has locking requirement, change it to None.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f38621b3109068adc8430bc2d170ccea59df4261",
      "tree": "599e6600f495a02e637b06d788fc8d8790e7c99a",
      "parents": [
        "39599a5334decc2669ba794fb0ccd2b112ef1ba4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Nov 14 22:37:35 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:46:00 2006 -0500"
      },
      "message": "[PATCH] libata: fix passthru sense data header\n\nsb[7] should contain the length of whole information sense data\ndescriptor while desc[1] should contain the number of following bytes\nin the descriptor.  ie. 14 for sb[7] but 12 for desc[1].\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "6fc49adb9417b9c793e8f88d485387bb89ceb733",
      "tree": "d94f536f24e504b1a654c392171fb6f08a195ca2",
      "parents": [
        "648a88be4a016d2637ace3ae74b85a0512255ee8"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Nov 11 20:10:45 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:45:54 2006 -0500"
      },
      "message": "[PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit\n\nMany drives support LBA48 even when its capacity is smaller than\n1\u003c\u003c28, as LBA48 is required for many functionalities.  FLUSH_EXT is\nmandatory for drives w/ LBA48 support.\n\nInterestingly, at least one of such drives (ST960812A) has problems\ndealing with FLUSH_EXT.  It eventually completes the command but takes\naround 7 seconds to finish in many cases thus drastically slowing down\nIO transactions.  This seems to be a firmware bug which sneaked into\nproduction probably because no other ATA driver including linux IDE\nissues FLUSH_EXT to drives which report support for LBA48 \u0026 FLUSH_EXT\nbut is smaller than 1\u003c\u003c28 blocks.\n\nThis patch adds ATA_DFLAG_FLUSH_EXT which is set iff the drive\nsupports LBA48 \u0026 FLUSH_EXT and is larger than LBA28 limit.  Both cache\nflush paths are updated to issue FLUSH_EXT only when the flag is set.\nNote that the changed behavior is more inline with the rest of libata.\nlibata prefers shorter commands whenever possible.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Danny Kukawka \u003cdkukawka@novell.com\u003e\nCc: Stefan Seyfried \u003cseife@novell.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "914ed354b373680b648d913161cca6f742f32791",
      "tree": "64d33d5813680fc564374aa0e085fe7541006325",
      "parents": [
        "baa1e78a834c917984a4659fd282f712c17ee3bf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Nov 01 18:39:55 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:41:31 2006 -0500"
      },
      "message": "[PATCH] libata: move dev-\u003emax_sectors configuration into ata_dev_configure()\n\nMove dev-\u003emax_sectors configuration from ata_scsi_dev_config() to\nata_dev_configure().\n\n* more consistent.\n* allows LLDs to peek at the default dev-\u003emax_sectors value.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "309afcb5c87b5a41da51cc0c36f61c0e0d43ca9a",
      "tree": "21566a73f25ec3b91163c5a0ba0252e7079c7370",
      "parents": [
        "722420fe6e2ab63bebc5a9ea346016b59076d75d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Sep 30 18:07:17 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Dec 01 22:40:29 2006 -0500"
      },
      "message": "[PATCH] libata: make user scan wait for scan to complete\n\nMake user scan wait for scan to complete.  This way user can wait for\nwarm plug request to complete and is prevented from causing EH event\nstorm by repetitively issuing scan request while EH is in progress.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Fajun Chen \u003cfajunchen@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "08475a1920aa7acc535324d6991b830fa7625bd8",
      "tree": "12ec45ed05da376bac8205f31cb3c48fe35cd4aa",
      "parents": [
        "f33d625f40e3b803c4cdea3219abb96cabf5ea03"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Mon Nov 20 13:51:56 2006 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Nov 28 03:51:55 2006 -0500"
      },
      "message": "[PATCH] libata: Fixup ata_sas_queuecmd to handle __ata_scsi_queuecmd failure\n\nFixes ata_sas_queuecmd to properly handle a failure from\n__ata_scsi_queuecmd.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c31f571d9f42fa2e89148811730fe3dc64943a6e",
      "tree": "0b2be4fe17824d8dc89e9c838e9f8ff934472504",
      "parents": [
        "2ea5814472c3c910aed5c5b60f1f3b1000e353f1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Nov 22 12:39:43 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Nov 28 03:45:13 2006 -0500"
      },
      "message": "[PATCH] libata: don\u0027t schedule EH on wcache on/off if old EH\n\nDo not schedule EH for revalidation on wcache on/off if old EH.  Old\nEH cannot handle it and will result in WARN_ON()\u0027s and oops.\n\nThis closes bug #7412.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "65f27f38446e1976cc98fd3004b110fedcddd189",
      "tree": "68f8be93feae31dfa018c22db392a05546b63ee1",
      "parents": [
        "365970a1ea76d81cb1ad2f652acb605f06dae256"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:55:48 2006 +0000"
      },
      "message": "WorkStruct: Pass the work_struct pointer instead of context data\n\nPass the work_struct pointer to the work function rather than context data.\nThe work function can use container_of() to work out the data.\n\nFor the cases where the container of the work_struct may go away the moment the\npending bit is cleared, it is made possible to defer the release of the\nstructure by deferring the clearing of the pending bit.\n\nTo make this work, an extra flag is introduced into the management side of the\nwork_struct.  This governs auto-release of the structure upon execution.\n\nOrdinarily, the work queue executor would release the work_struct for further\nscheduling or deallocation by clearing the pending bit prior to jumping to the\nwork function.  This means that, unless the driver makes some guarantee itself\nthat the work_struct won\u0027t go away, the work function may not access anything\nelse in the work_struct or its container lest they be deallocated..  This is a\nproblem if the auxiliary data is taken away (as done by the last patch).\n\nHowever, if the pending bit is *not* cleared before jumping to the work\nfunction, then the work function *may* access the work_struct and its container\nwith no problems.  But then the work function must itself release the\nwork_struct by calling work_release().\n\nIn most cases, automatic release is fine, so this is the default.  Special\ninitiators exist for the non-auto-release case (ending in _NAR).\n\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "253b92ecbd3d2e9f5a79fc7632c89ac74bff16c4",
      "tree": "8153c5044d97f5a46ee57329a9895256ab161500",
      "parents": [
        "3f9dd27a22ff79b6b6c4eccd19e4063bff0ddc7e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Nov 14 09:55:41 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Nov 14 09:55:41 2006 -0500"
      },
      "message": "libata: fix double-completion on error\n\nA curious thing happens, however, when ata_qc_new_init fails to get\nan ata_queued_cmd:\n\nFirst, ata_qc_new_init handles the failure like this:\n    cmd-\u003eresult \u003d (DID_OK \u003c\u003c 16) | (QUEUE_FULL \u003c\u003c 1);\n    done(cmd);\n\nThen, we return to ata_scsi_translate and do this:\n    err_mem:\n        cmd-\u003eresult \u003d (DID_ERROR \u003c\u003c 16);\n        done(cmd);\n\nIt appears to me that first we set a status code indicating that we\u0027re\nok but the device queue is full and finish the command,  but then\nwe blow away that status code and replace it with an error flag and\nfinish the command a second time!  That does not seem to be desirable\nbehavior since we merely want the I/O to wait until a command slot\nfrees up, not send errors up the block layer.\n\nIn the err_mem case, we should simply exit out of ata_scsi_translate\ninstead.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "bbe1fe7ea3438f8c4447dbcd46a126581ed2ed41",
      "tree": "5b1eec4a822887a2f1380f6a0aa649322c986a91",
      "parents": [
        "4ad99f15c6a3cadf36928c399459ea4fdb3d49f9"
      ],
      "author": {
        "name": "Eran Tromer",
        "email": "eran@tromer.org",
        "time": "Tue Oct 10 14:29:25 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 11 04:18:07 2006 -0400"
      },
      "message": "[PATCH] libata: return sense data in HDIO_DRIVE_CMD ioctl\n\nMake the HDIO_DRIVE_CMD ioctl in libata (ATA command pass through) return a\nfew ATA registers to userspace, following the same convention as the\ndrivers/ide implementation of the same ioctl.  This is needed to support ATA\ncommands like CHECK POWER MODE, which return information in nsectors.\n\nThis fixes \"hdparm -C\" on SATA drives.\n\nForcing the sense data read via the cc flag causes spurious check conditions,\nso we filter these out (following the ATA command pass-through specification\nT10/04-262r7).\n\nSigned-off-by: Eran Tromer \u003ceran@tromer.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "360f654e7cda850034f3f6252a7a7cff3fa77356",
      "tree": "2279e397c59501cfda60d7d97d4976e42b8f2983",
      "parents": [
        "e5c9e081e9c980fa785cd9002c25a251cf3f090e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Sep 30 19:45:00 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Sep 30 07:39:24 2006 -0400"
      },
      "message": "[PATCH] libata: turn off NCQ if queue depth is adjusted to 1\n\nTurn off NCQ if queue depth is adjusted to 1.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4f931374ecc599f6df7852509b6917abd5377205",
      "tree": "44455b075b8ef581fe104daa61955c29444fd3b1",
      "parents": [
        "2d2744fc8be620a2dc469cf48349e3e704119f1b"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 29 05:07:25 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Sep 29 05:07:25 2006 -0400"
      },
      "message": "[libata] DocBook minor updates, fixes\n\nUpdate copyright year, fix minor stuff \u0027make xmldocs\u0027 complains about.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "cca3974e48607c3775dc73b544a5700b2e37c21a",
      "tree": "0777d6121ba199af0aad196eb5a693510ec8e62e",
      "parents": [
        "54a86bfc3d4601be9c36cd4e8a1bdc580c98fa6a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Aug 24 03:19:22 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Thu Aug 24 03:19:22 2006 -0400"
      },
      "message": "libata: Grand renaming.\n\nThe biggest change is that ata_host_set is renamed to ata_host.\n\n* ata_host_set\t\t\t\u003d\u003e ata_host\n* ata_probe_ent-\u003ehost_flags\t\u003d\u003e ata_probe_ent-\u003eport_flags\n* ata_probe_ent-\u003ehost_set_flags\t\u003d\u003e ata_probe_ent-\u003e_host_flags\n* ata_host_stats\t\t\u003d\u003e ata_port_stats\n* ata_port-\u003ehost\t\t\u003d\u003e ata_port-\u003escsi_host\n* ata_port-\u003ehost_set\t\t\u003d\u003e ata_port-\u003ehost\n* ata_port_info-\u003ehost_flags\t\u003d\u003e ata_port_info-\u003eflags\n* ata_(.*)host_set(.*)\\(\\)\t\u003d\u003e ata_\\1host\\2()\n\nThe leading underscore in ata_probe_ent-\u003e_host_flags is to avoid\nreusing -\u003ehost_flags for different purpose.  Currently, the only user\nof the field is libata-bmdma.c and probe_ent itself is scheduled to be\nremoved.\n\nata_port-\u003ehost is reused for different purpose but this field is used\ninside libata core proper and of different type.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    }
  ],
  "next": "c6fd280766a050b13360d7c2d59a3d6bd3a27d9a"
}
