<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/isci/task.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-04-30T15:23:27Z</updated>
<entry>
<title>Revert "isci: fix reset timeout handling"</title>
<updated>2014-04-30T15:23:27Z</updated>
<author>
<name>Ben Hutchings</name>
</author>
<published>2014-04-30T12:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e59f013993a74bf31366a59bcf36be830d0f058'/>
<id>urn:sha1:2e59f013993a74bf31366a59bcf36be830d0f058</id>
<content type='text'>
This reverts commit 584ec12265192bf49dfa270d517380f6723a6956, which
was commit ddfadd7736b677de2d4ca2cd5b4b655368c85a7a upstream.  It
causes boot failure on 3.2 although no such problem occurs upstream.

Reported-by: Ondrej Zary &lt;linux@rainbow-software.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Acked-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>isci: fix reset timeout handling</title>
<updated>2014-04-01T23:58:58Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2014-02-06T20:23:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=584ec12265192bf49dfa270d517380f6723a6956'/>
<id>urn:sha1:584ec12265192bf49dfa270d517380f6723a6956</id>
<content type='text'>
commit ddfadd7736b677de2d4ca2cd5b4b655368c85a7a upstream.

Remove an erroneous BUG_ON() in the case of a hard reset timeout.  The
reset timeout handler puts the port into the "awaiting link-up" state.
The timeout causes the device to be disconnected and we need to be in
the awaiting link-up state to re-connect the port.  The BUG_ON() made
the incorrect assumption that resets never timeout and we always
complete the reset in the "resetting" state.

Testing this patch also uncovered that libata continues to attempt to
reset the port long after the driver has torn down the context.  Once
the driver has committed to abandoning the link it must indicate to
libata that recovery ends by returning -ENODEV from
-&gt;lldd_I_T_nexus_reset().

Acked-by: Lukasz Dorau &lt;lukasz.dorau@intel.com&gt;
Reported-by: David Milburn &lt;dmilburn@redhat.com&gt;
Reported-by: Xun Ni &lt;xun.ni@intel.com&gt;
Tested-by: Xun Ni &lt;xun.ni@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>isci: Fix a race condition in the SSP task management path</title>
<updated>2013-08-02T20:15:04Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2013-07-12T00:18:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6af864ccfe6d6d079db3e488b77b95fa65eb7799'/>
<id>urn:sha1:6af864ccfe6d6d079db3e488b77b95fa65eb7799</id>
<content type='text'>
commit 96f15f29038e58e1b0a96483e2b369ff446becf1 upstream.

This commit fixes a race condition in the isci driver abort task and SSP
device task management path.  The race is caused when an I/O termination
in the SCU hardware is necessary because of an SSP target timeout condition,
and the check of the I/O end state races against the HW-termination-driven
end state.  The failure of the race meant that no TMF was sent to the device
to clean-up the pending I/O.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Reviewed-by: Lukasz Dorau &lt;lukasz.dorau@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: revert bcn filtering</title>
<updated>2011-10-31T09:23:01Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2011-10-27T22:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52d74634335dfc0984ed955ed3c6ad6488495f96'/>
<id>urn:sha1:52d74634335dfc0984ed955ed3c6ad6488495f96</id>
<content type='text'>
The initial bcn filtering implementation was validated on a kernel
baseline that predated the switch to new libata error handling.  Also,
prior to that conversion we borrowed the mvsas MVS_DEV_EH approach to
prevent the unwanted extra ap-&gt;ops-&gt;phy_reset(ap) that occurred in the
ata_bus_probe() path.

After the conversion to new libata eh resets at discovery are more
frequent and get filtered prematurely by IDEV_EH.  The result is that
our bcn filtering has been blocked from running and at discovery and it
appears to stall discovery completion to the point of triggering hung
task timeouts.  So, revert the implementation for now.  When it returns
it will go into libsas proper.

The domain rediscovery that takes place due to -&gt;lldd_I_T_nexus_reset()
events should now be properly waited for by the ata_port_wait_eh() call
in ata_port_probe().  So the hard coded delay in the isci
-&gt;lldd_I_T_nexus_reset() and other libsas drivers should help debounce
the libsas thread from seeing temporary device removals.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: No need to manage the pending reset bit on pending requests.</title>
<updated>2011-10-31T09:20:28Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5412e25c55fc0b08041a451d8bee6f2b291099c2'/>
<id>urn:sha1:5412e25c55fc0b08041a451d8bee6f2b291099c2</id>
<content type='text'>
The lldd does not need to look at or manage the pending device
reset bit in pending sas_tasks.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: Remove redundant isci_request.ttype field.</title>
<updated>2011-10-31T09:19:47Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b34c169f8197e02529fa3ec703703c2ce418c57'/>
<id>urn:sha1:3b34c169f8197e02529fa3ec703703c2ce418c57</id>
<content type='text'>
Use the existing IREQ_TMF flag as a request type indicator.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: Fix task management for SMP, SATA and on dev remove.</title>
<updated>2011-10-31T09:17:48Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=98145cb722b51ccc3ba27166c9803545accba950'/>
<id>urn:sha1:98145cb722b51ccc3ba27166c9803545accba950</id>
<content type='text'>
libsas uses the LLDD abort task interface to handle I/O timeouts
in the SATA/STP and SMP discovery paths, so this change will terminate
STP/SMP requests. Also, if the device is gone, the lldd will prevent
libsas from further escalations in the error handler.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: No task_done callbacks in error handler paths.</title>
<updated>2011-10-31T09:17:04Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db49c2d037d50dfc67b29a4e013d6250ca97c3aa'/>
<id>urn:sha1:db49c2d037d50dfc67b29a4e013d6250ca97c3aa</id>
<content type='text'>
libsas will cleanup pending sas_tasks after error handler
path functions are called; do not call task_done callbacks.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: Handle task request timeouts correctly.</title>
<updated>2011-10-31T09:16:23Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b343dff1a269bcc0eac123ef541c5476b03d52c1'/>
<id>urn:sha1:b343dff1a269bcc0eac123ef541c5476b03d52c1</id>
<content type='text'>
In the case where "task" requests timeout (note that this class of
requests can also include SATA/STP soft reset FIS transmissions),
handle the case where the task was being managed by some call to
terminate the task request by completing both the tmf and the aborting
process.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] isci: Fix tag leak in tasks and terminated requests.</title>
<updated>2011-10-31T09:16:04Z</updated>
<author>
<name>Jeff Skirvin</name>
</author>
<published>2011-10-27T22:05:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6891682220c18c01bf6838f30e37342c38fde44'/>
<id>urn:sha1:d6891682220c18c01bf6838f30e37342c38fde44</id>
<content type='text'>
Make sure terminated requests and completed task tags are freed.

Signed-off-by: Jeff Skirvin &lt;jeffrey.d.skirvin@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
</feed>
