<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/ata/libata-eh.c, branch linux-4.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-06-06T15:21:02Z</updated>
<entry>
<title>libata: Ignore spurious PHY event on LPM policy change</title>
<updated>2015-06-06T15:21:02Z</updated>
<author>
<name>Gabriele Mazzotta</name>
</author>
<published>2015-04-25T17:52:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a2c2f84c328b10c8461d0f832c642b1d88bec88'/>
<id>urn:sha1:8a2c2f84c328b10c8461d0f832c642b1d88bec88</id>
<content type='text'>
commit 09c5b4803a80a5451d950d6a539d2eb311dc0fb1 upstream.

When the LPM policy is set to ATA_LPM_MAX_POWER, the device might
generate a spurious PHY event that cuases errors on the link.
Ignore this event if it occured within 10s after the policy change.

The timeout was chosen observing that on a Dell XPS13 9333 these
spurious events can occur up to roughly 6s after the policy change.

Link: http://lkml.kernel.org/g/3352987.ugV1Ipy7Z5@xps13
Signed-off-by: Gabriele Mazzotta &lt;gabriele.mzt@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi</title>
<updated>2015-02-11T18:28:45Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-02-11T18:28:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=540a7c5061f10a07748c89b6741af90db1a07252'/>
<id>urn:sha1:540a7c5061f10a07748c89b6741af90db1a07252</id>
<content type='text'>
Pull first round of SCSI updates from James Bottomley:
 "This is the usual grab bag of driver updates (hpsa, storvsc, mp2sas,
  megaraid_sas, ses) plus an assortment of minor updates.

  There's also an update to ufs which adds new phy drivers and finally a
  new logging infrastructure for SCSI"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (114 commits)
  scsi_logging: return void for dev_printk() functions
  scsi: print single-character strings with seq_putc
  scsi: merge consecutive seq_puts calls
  scsi: replace seq_printf with seq_puts
  aha152x: replace seq_printf with seq_puts
  advansys: replace seq_printf with seq_puts
  scsi: remove SPRINTF macro
  sg: remove an unused variable
  hpsa: Use local workqueues instead of system workqueues
  hpsa: add in P840ar controller model name
  hpsa: add in gen9 controller model names
  hpsa: detect and report failures changing controller transport modes
  hpsa: shorten the wait for the CISS doorbell mode change ack
  hpsa: refactor duplicated scan completion code into a new routine
  hpsa: move SG descriptor set-up out of hpsa_scatter_gather()
  hpsa: do not use function pointers in fast path command submission
  hpsa: print CDBs instead of kernel virtual addresses for uncommon errors
  hpsa: do not use a void pointer for scsi_cmd field of struct CommandList
  hpsa: return failed from device reset/abort handlers
  hpsa: check for ctlr lockup after command allocation in main io path
  ...
</content>
</entry>
<entry>
<title>libata: fixup oops in ata_eh_link_report()</title>
<updated>2015-01-20T18:41:41Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2015-01-19T15:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a13b0c9d09157e331b31e25c1ea19216b837a619'/>
<id>urn:sha1:a13b0c9d09157e331b31e25c1ea19216b837a619</id>
<content type='text'>
We should only try to evaluate the cdb if this is an ATAPI
device, for any other device the 'cdb' field and the cdb_len
has no meaning.

Fixes: cbba5b0ee4c6c2fc8b78a21d0900099d480cf2e9
Reported-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Tejun Heo &lt;tj@kernel.org&gt;
Tested-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>libata: use __scsi_format_command()</title>
<updated>2015-01-09T14:44:29Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2015-01-08T06:43:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbba5b0ee4c6c2fc8b78a21d0900099d480cf2e9'/>
<id>urn:sha1:cbba5b0ee4c6c2fc8b78a21d0900099d480cf2e9</id>
<content type='text'>
libata already uses an internal buffer, so we should be using
__scsi_format_command() here.

Tested-by: Robert Elliott &lt;elliott@hp.com&gt;
Reviewed-by: Robert Elliott &lt;elliott@hp.com&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>libata: Remove FIXME comment in atapi_eh_request_sense</title>
<updated>2015-01-07T15:07:20Z</updated>
<author>
<name>Nicholas Krause</name>
</author>
<published>2015-01-07T05:44:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d9acda9ba956a5d37e61e0ce6c579a67610bd05'/>
<id>urn:sha1:9d9acda9ba956a5d37e61e0ce6c579a67610bd05</id>
<content type='text'>
Remove the FIXME comment in  atapi_eh_request_sense () asking whether
memset of sense buffer is necessary.  The buffer may be partially or
fully filled by the device.  We want it to be cleared.

Signed-off-by: Nicholas Krause &lt;xerofoify@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>libata: export ata_get_cmd_descript()</title>
<updated>2015-01-05T16:22:49Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2014-12-12T15:16:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=36aae28e3df4127e296f2680d65cb6310ce61021'/>
<id>urn:sha1:36aae28e3df4127e296f2680d65cb6310ce61021</id>
<content type='text'>
The driver sata_dwc_460ex is using this symbol. To build it as a
module we have to have the symbol exported. This patch adds
EXPORT_SYMBOL_GPL() macro for that.

tj: Updated to use EXPORT_SYMBOL_GPL() instead of EXPORT_SYMBOL() as
    the only known user is an in-tree driver.  Suggested by Sergei.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Sergei Shtylyov &lt;sergei.shtylyov@cogentembedded.com&gt;
</content>
</entry>
<entry>
<title>libata: Implement ATA_DEV_ZAC</title>
<updated>2014-11-05T16:22:06Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2014-11-05T12:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9162c6579bf90b3f5ddb7e3a6c6fa946c1b4cbeb'/>
<id>urn:sha1:9162c6579bf90b3f5ddb7e3a6c6fa946c1b4cbeb</id>
<content type='text'>
Add new ATA device type for ZAC devices.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>libata: EH should handle AMNF error condition as a media error</title>
<updated>2014-07-15T15:13:57Z</updated>
<author>
<name>Alexey Asemov</name>
</author>
<published>2014-07-15T06:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eec7e1c16d2b65e38137686dd9b7e102c2150905'/>
<id>urn:sha1:eec7e1c16d2b65e38137686dd9b7e102c2150905</id>
<content type='text'>
libata-eh.c should handle AMNF error condition (error byte bit 0,
usually code 0x01) in libata-eh.c along with UNC as a media error so
SCSI stack can handle it properly (translation code 0x01 is already
present in libata-scsi.c) but was never passed down due to lack of
handling in EH.

While using linux-based machine (AMD 6550M-based notebook, PCI IDs for the
controller are 1022:7801 subsys 1025:059d) and ddrescue to salvage data
from failing hard drive (WD7500BPVT 2.5" 750G SATA2), I've found that pure
AMNF 0x01 error code generates generic "device error" that is retried
several times by SCSI stack instead of "media error" that is passed up to
software.

So we may assume deprecated AMNF error code is surely not dead yet, and
it's better for it to be handled properly. As we may see it is used by
modern enough devices, and used properly: drive returned AMNF only when IDs
for track cannot be read completely due to dying head or positioning,
otherwise it returned UNC(orrectables).

Not handling it causes wrong generic error code ("device error") reporting
down the stack, can damage failing drives further because of excessive
retries, and slows salvaging down a lot. Also, there is handling code in
libata-scsi.c for 0x01 AMNF error already.

https://bugzilla.kernel.org/show_bug.cgi?id=80031

tj: Shortened $SUBJ and moved its content to the first paragraph.

Signed-off-by: Alexey Asemov &lt;alex@alex-at.ru&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>libata, libsas: kill pm_result and related cleanup</title>
<updated>2014-03-18T20:08:38Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2014-03-14T20:52:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bc6e7c4b0d1a1f742d96556f63d68f17f4e232c3'/>
<id>urn:sha1:bc6e7c4b0d1a1f742d96556f63d68f17f4e232c3</id>
<content type='text'>
Tejun says:
  "At least for libata, worrying about suspend/resume failures don't make
   whole lot of sense.  If suspend failed, just proceed with suspend.  If
   the device can't be woken up afterwards, that's that.  There isn't
   anything we could have done differently anyway.  The same for resume, if
   spinup fails, the device is dud and the following commands will invoke
   EH actions and will eventually fail.  Again, there really isn't any
   *choice* to make.  Just making sure the errors are handled gracefully
   (ie. don't crash) and the following commands are handled correctly
   should be enough."

The only libata user that actually cares about the result from a suspend
operation is libsas.  However, it only cares about whether queuing a new
operation collides with an in-flight one.  All libsas does with the
error is retry, but we can just let libata wait for the previous
operation before continuing.

Other cleanups include:
1/ Unifying all ata port pm operations on an ata_port_pm_ prefix
2/ Marking all ata port pm helper routines as returning void, only
   ata_port_pm_ entry points need to fake a 0 return value.
3/ Killing ata_port_{suspend|resume}_common() in favor of calling
   ata_port_request_pm() directly
4/ Killing the wrappers that just do a to_ata_port() conversion
5/ Clearly marking the entry points that do async operations with an
  _async suffix.

Reference: http://marc.info/?l=linux-scsi&amp;m=138995409532286&amp;w=2

Cc: Phillip Susi &lt;psusi@ubuntu.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Suggested-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Todd Brandt &lt;todd.e.brandt@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>libata: end the r-word</title>
<updated>2014-03-07T22:30:06Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2014-03-07T22:22:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35bf88212b5e5d1f9145481bc15e8c1801da58dc'/>
<id>urn:sha1:35bf88212b5e5d1f9145481bc15e8c1801da58dc</id>
<content type='text'>
Prompted by the social effort in the US to discourage usage of the
adjective "retarded".

In this case we needlessly anthropomorphize hard drives.  The
implication is that due to design deficiencies in the device reset
recovery time is negatively impacted.  We can simply clearly state that
fact.  "Exceptional devices cause outliers in reset recovery time." This
steers clear of any unintended comparison of such devices to humans with
cognitive disabilities.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
</feed>
