<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/ata, branch linux-2.6.19.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>pata_amd: fix an obvious bug in cable detection</title>
<updated>2007-02-24T00:24:26+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2007-02-05T08:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2dd8345ab6b85727a7a14bfbc827430dabd2da4d'/>
<id>2dd8345ab6b85727a7a14bfbc827430dabd2da4d</id>
<content type='text'>
80c test mask is at bits 18 and 19 of EIDE Controller Configuration
not 22 and 23.  Fix it.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Acked-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
80c test mask is at bits 18 and 19 of EIDE Controller Configuration
not 22 and 23.  Fix it.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Acked-by: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] libata: use kmap_atomic(KM_IRQ0) in SCSI simulator</title>
<updated>2007-02-05T16:31:44+00:00</updated>
<author>
<name>Jeff Garzik</name>
<email>jeff@garzik.org</email>
</author>
<published>2006-12-11T16:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e435bb1a3314e17118fd873290b198813537e864'/>
<id>e435bb1a3314e17118fd873290b198813537e864</id>
<content type='text'>
We are inside spin_lock_irqsave().  quoth akpm's debug facility:

 [  231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB)
 [  232.232000] ata1.00: configured for UDMA/33
 [  232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic()
 [  232.404000]  [&lt;c01162e6&gt;] kmap_atomic+0xa9/0x1ab
 [  232.404000]  [&lt;c0242c81&gt;] ata_scsi_rbuf_get+0x1c/0x30
 [  232.404000]  [&lt;c0242caf&gt;] ata_scsi_rbuf_fill+0x1a/0x87
 [  232.404000]  [&lt;c0243ab2&gt;] ata_scsiop_mode_sense+0x0/0x309
 [  232.404000]  [&lt;c01729d5&gt;] end_bio_bh_io_sync+0x0/0x37
 [  232.404000]  [&lt;c02311c6&gt;] scsi_done+0x0/0x16
 [  232.404000]  [&lt;c02311c6&gt;] scsi_done+0x0/0x16
 [  232.404000]  [&lt;c0242dcc&gt;] ata_scsi_simulate+0xb0/0x13f
[...]

Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are inside spin_lock_irqsave().  quoth akpm's debug facility:

 [  231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB)
 [  232.232000] ata1.00: configured for UDMA/33
 [  232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic()
 [  232.404000]  [&lt;c01162e6&gt;] kmap_atomic+0xa9/0x1ab
 [  232.404000]  [&lt;c0242c81&gt;] ata_scsi_rbuf_get+0x1c/0x30
 [  232.404000]  [&lt;c0242caf&gt;] ata_scsi_rbuf_fill+0x1a/0x87
 [  232.404000]  [&lt;c0243ab2&gt;] ata_scsiop_mode_sense+0x0/0x309
 [  232.404000]  [&lt;c01729d5&gt;] end_bio_bh_io_sync+0x0/0x37
 [  232.404000]  [&lt;c02311c6&gt;] scsi_done+0x0/0x16
 [  232.404000]  [&lt;c02311c6&gt;] scsi_done+0x0/0x16
 [  232.404000]  [&lt;c0242dcc&gt;] ata_scsi_simulate+0xb0/0x13f
[...]

Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] libata: handle 0xff status properly</title>
<updated>2007-01-10T19:05:18+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2006-12-13T03:58:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a1803540413ea466bca67803cf71d9339e48bfb6'/>
<id>a1803540413ea466bca67803cf71d9339e48bfb6</id>
<content type='text'>
libata waits for !BSY even when the status register reports 0xff.
This causes long boot delays when D8 isn't pulled down properly.  This
patch does the followings.

* don't wait if status register is 0xff in all wait functions

* make ata_busy_sleep() return 0 on success and -errno on failure.
  -ENODEV is returned on 0xff status and -EBUSY on other failures.

* make ata_bus_softreset() succeed on 0xff status.  0xff status is not
  reset failure.  It indicates no device.  This removes unnecessary
  retries on such ports.  Note that the code change assumes unoccupied
  port reporting 0xff status does not produce valid device signature.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Joe Jin &lt;lkmaillist@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libata waits for !BSY even when the status register reports 0xff.
This causes long boot delays when D8 isn't pulled down properly.  This
patch does the followings.

* don't wait if status register is 0xff in all wait functions

* make ata_busy_sleep() return 0 on success and -errno on failure.
  -ENODEV is returned on 0xff status and -EBUSY on other failures.

* make ata_bus_softreset() succeed on 0xff status.  0xff status is not
  reset failure.  It indicates no device.  This removes unnecessary
  retries on such ports.  Note that the code change assumes unoccupied
  port reporting 0xff status does not produce valid device signature.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Cc: Joe Jin &lt;lkmaillist@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] libata: Fixup ata_sas_queuecmd to handle __ata_scsi_queuecmd failure</title>
<updated>2006-11-28T08:51:55+00:00</updated>
<author>
<name>Brian King</name>
<email>brking@us.ibm.com</email>
</author>
<published>2006-11-20T19:51:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=08475a1920aa7acc535324d6991b830fa7625bd8'/>
<id>08475a1920aa7acc535324d6991b830fa7625bd8</id>
<content type='text'>
Fixes ata_sas_queuecmd to properly handle a failure from
__ata_scsi_queuecmd.

Signed-off-by: Brian King &lt;brking@us.ibm.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes ata_sas_queuecmd to properly handle a failure from
__ata_scsi_queuecmd.

Signed-off-by: Brian King &lt;brking@us.ibm.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] ahci: AHCI mode SATA patch for Intel ICH9</title>
<updated>2006-11-28T08:45:13+00:00</updated>
<author>
<name>Jason Gaston</name>
<email>jason.d.gaston@intel.com</email>
</author>
<published>2006-11-22T00:55:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f33d625f40e3b803c4cdea3219abb96cabf5ea03'/>
<id>f33d625f40e3b803c4cdea3219abb96cabf5ea03</id>
<content type='text'>
This patch adds the Intel ICH9 AHCI controller DID's for SATA support.

Signed-off-by:  Jason Gaston &lt;jason.d.gaston@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the Intel ICH9 AHCI controller DID's for SATA support.

Signed-off-by:  Jason Gaston &lt;jason.d.gaston@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] libata: don't schedule EH on wcache on/off if old EH</title>
<updated>2006-11-28T08:45:13+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2006-11-22T03:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c31f571d9f42fa2e89148811730fe3dc64943a6e'/>
<id>c31f571d9f42fa2e89148811730fe3dc64943a6e</id>
<content type='text'>
Do not schedule EH for revalidation on wcache on/off if old EH.  Old
EH cannot handle it and will result in WARN_ON()'s and oops.

This closes bug #7412.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not schedule EH for revalidation on wcache on/off if old EH.  Old
EH cannot handle it and will result in WARN_ON()'s and oops.

This closes bug #7412.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev</title>
<updated>2006-11-14T23:15:31+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@woody.osdl.org</email>
</author>
<published>2006-11-14T23:15:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=dc791d479802a784836a236d4a77a5325be545c4'/>
<id>dc791d479802a784836a236d4a77a5325be545c4</id>
<content type='text'>
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: fix double-completion on error
  [PATCH] pata_artop: fix "&amp; (1 &gt;&gt;" typo
  [PATCH] hpt37x: Check the enablebits
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: fix double-completion on error
  [PATCH] pata_artop: fix "&amp; (1 &gt;&gt;" typo
  [PATCH] hpt37x: Check the enablebits
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] libata: Convert from module_init to subsys_initcall</title>
<updated>2006-11-14T23:08:50+00:00</updated>
<author>
<name>Brian King</name>
<email>brking@us.ibm.com</email>
</author>
<published>2006-11-13T22:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a4625085445b86951d8482c0cdd6d52719f7c323'/>
<id>a4625085445b86951d8482c0cdd6d52719f7c323</id>
<content type='text'>
When building a monolithic kernel, the load order of drivers does not
work for SAS libata users, resulting in a kernel oops.

Convert libata to use subsys_initcall instead of module_init, which
ensures that libata gets loaded before any LLDD.

This is the same thing that scsi core does to solve the problem.  The
load order problem was observed on ipr SAS adapters and should exist for
other SAS users as well.

Signed-off-by: Brian King &lt;brking@us.ibm.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When building a monolithic kernel, the load order of drivers does not
work for SAS libata users, resulting in a kernel oops.

Convert libata to use subsys_initcall instead of module_init, which
ensures that libata gets loaded before any LLDD.

This is the same thing that scsi core does to solve the problem.  The
load order problem was observed on ipr SAS adapters and should exist for
other SAS users as well.

Signed-off-by: Brian King &lt;brking@us.ibm.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@pobox.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: fix double-completion on error</title>
<updated>2006-11-14T14:55:41+00:00</updated>
<author>
<name>Darrick J. Wong</name>
<email>djwong@us.ibm.com</email>
</author>
<published>2006-11-14T14:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=253b92ecbd3d2e9f5a79fc7632c89ac74bff16c4'/>
<id>253b92ecbd3d2e9f5a79fc7632c89ac74bff16c4</id>
<content type='text'>
A curious thing happens, however, when ata_qc_new_init fails to get
an ata_queued_cmd:

First, ata_qc_new_init handles the failure like this:
    cmd-&gt;result = (DID_OK &lt;&lt; 16) | (QUEUE_FULL &lt;&lt; 1);
    done(cmd);

Then, we return to ata_scsi_translate and do this:
    err_mem:
        cmd-&gt;result = (DID_ERROR &lt;&lt; 16);
        done(cmd);

It appears to me that first we set a status code indicating that we're
ok but the device queue is full and finish the command,  but then
we blow away that status code and replace it with an error flag and
finish the command a second time!  That does not seem to be desirable
behavior since we merely want the I/O to wait until a command slot
frees up, not send errors up the block layer.

In the err_mem case, we should simply exit out of ata_scsi_translate
instead.

Signed-off-by: Darrick J. Wong &lt;djwong@us.ibm.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A curious thing happens, however, when ata_qc_new_init fails to get
an ata_queued_cmd:

First, ata_qc_new_init handles the failure like this:
    cmd-&gt;result = (DID_OK &lt;&lt; 16) | (QUEUE_FULL &lt;&lt; 1);
    done(cmd);

Then, we return to ata_scsi_translate and do this:
    err_mem:
        cmd-&gt;result = (DID_ERROR &lt;&lt; 16);
        done(cmd);

It appears to me that first we set a status code indicating that we're
ok but the device queue is full and finish the command,  but then
we blow away that status code and replace it with an error flag and
finish the command a second time!  That does not seem to be desirable
behavior since we merely want the I/O to wait until a command slot
frees up, not send errors up the block layer.

In the err_mem case, we should simply exit out of ata_scsi_translate
instead.

Signed-off-by: Darrick J. Wong &lt;djwong@us.ibm.com&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] pata_artop: fix "&amp; (1 &gt;&gt;" typo</title>
<updated>2006-11-14T14:52:08+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@openvz.org</email>
</author>
<published>2006-11-10T19:52:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3f9dd27a22ff79b6b6c4eccd19e4063bff0ddc7e'/>
<id>3f9dd27a22ff79b6b6c4eccd19e4063bff0ddc7e</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@openvz.org&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@openvz.org&gt;
Signed-off-by: Jeff Garzik &lt;jeff@garzik.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
