android_kernel_samsung_msm8976/include
Tejun Heo f07b772da4 libata: disable LPM for some WD SATA-I devices
commit ecd75ad514d73efc1bbcc5f10a13566c3ace5f53 upstream.

For some reason, some early WD drives spin up and down drives
erratically when the link is put into slumber mode which can reduce
the life expectancy of the device significantly.  Unfortunately, we
don't have full list of devices and given the nature of the issue it'd
be better to err on the side of false positives than the other way
around.  Let's disable LPM on all WD devices which match one of the
known problematic model prefixes and are SATA-I.

As horkage list doesn't support matching SATA capabilities, this is
implemented as two horkages - WD_BROKEN_LPM and NOLPM.  The former is
set for the known prefixes and sets the latter if the matched device
is SATA-I.

Note that this isn't optimal as this disables all LPM operations and
partial link power state reportedly works fine on these; however, the
way LPM is implemented in libata makes it difficult to precisely map
libata LPM setting to specific link power state.  Well, these devices
are already fairly outdated.  Let's just disable whole LPM for now.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-and-tested-by: Nikos Barkas <levelwol@gmail.com>
Reported-and-tested-by: Ioannis Barkas <risc4all@yahoo.com>
References: https://bugzilla.kernel.org/show_bug.cgi?id=57211
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-06 11:08:16 -08:00
..
acpi ACPI / hotplug: Fix conflicted PCI bridge notify handlers 2013-12-04 10:57:04 -08:00
asm-generic mm: fix TLB flush race between migration, and change_protection_range 2014-01-09 12:24:23 -08:00
clocksource clocksource: arch_timer: use virtual counters 2014-01-09 12:24:26 -08:00
crypto crypto: scatterwalk - Use sg_chain_ptr on chain entries 2013-12-11 22:36:29 -08:00
drm drm/radeon: 0x9649 is SUMO2 not SUMO 2014-01-09 12:24:22 -08:00
dt-bindings
keys
linux libata: disable LPM for some WD SATA-I devices 2014-02-06 11:08:16 -08:00
math-emu
media media: v4l2: added missing mutex.h include to v4l2-ctrls.h 2013-09-26 17:18:26 -07:00
memory
misc
net netfilter: push reasm skb through instead of original frag skbs 2013-12-08 07:29:25 -08:00
pcmcia
ras
rdma
rxrpc
scsi SCSI: Disable WRITE SAME for RAID and virtual host adapter drivers 2013-12-11 22:36:28 -08:00
sound ALSA: memalloc.h - fix wrong truncation of dma_addr_t 2013-12-20 07:45:06 -08:00
target target/file: Update hw_max_sectors based on current block_size 2014-01-09 12:24:20 -08:00
trace tracing: Allow events to have NULL strings 2013-12-04 10:57:17 -08:00
uapi ALSA: compress: Fix 64bit ABI incompatibility 2013-12-20 07:45:06 -08:00
video Merge branch 'fbdev-3.10-fixes' of git://gitorious.org/linux-omap-dss2/linux into linux-fbdev/for-3.10-fixes 2013-05-29 17:00:34 +08:00
xen xenbus: delay xenbus frontend resume if xenstored is not running 2013-05-29 09:04:19 -04:00
Kbuild