<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/ata/libata-core.c, branch linux-3.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-03-24T04:44:10Z</updated>
<entry>
<title>libata: use wider match for blacklisting Crucial M500</title>
<updated>2014-03-24T04:44:10Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2014-03-10T15:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69fd455e621f2e15ea44640a366692c2c012d78f'/>
<id>urn:sha1:69fd455e621f2e15ea44640a366692c2c012d78f</id>
<content type='text'>
commit 83493d7e782d2630f1a55def14a79f0e7c4faac3 upstream.

We're now blacklisting "Crucial_CT???M500SSD1" and
"Crucial_CT???M500SSD3".  Also, "Micron_M500*" is blacklisted which is
about the same devices as the crucial branded ones.  Let's merge the
two Crucial M500 entries and widen the match to
"Crucial_CT???M500SSD*" so that we don't have to fiddle with new
entries for similar devices.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Suggested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8 (2BA30001)</title>
<updated>2014-03-24T04:44:10Z</updated>
<author>
<name>Michele Baldessari</name>
</author>
<published>2014-03-07T16:34:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f05751dd1a4c61273a4cbf0ffdb160adf0270753'/>
<id>urn:sha1:f05751dd1a4c61273a4cbf0ffdb160adf0270753</id>
<content type='text'>
commit b28a613e9138e4b3a64649bd60b13436f4b4b49b upstream.

Via commit 87809942d3fa "libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk
for Seagate Momentus SpinPoint M8" we added a quirk for disks named
"ST1000LM024 HN-M101MBB" with firmware revision "2AR10001".

As reported on https://bugzilla.redhat.com/show_bug.cgi?id=1073901,
we need to also add firmware revision 2BA30001 as it is broken as well.

Reported-by: Nicholas &lt;arealityfarbetween@googlemail.com&gt;
Signed-off-by: Michele Baldessari &lt;michele@acksyn.org&gt;
Tested-by: Guilherme Amadio &lt;guilherme.amadio@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>libata: disable queued TRIM for Crucial M500 mSATA SSDs</title>
<updated>2014-03-24T04:44:10Z</updated>
<author>
<name>Marios Andreopoulos</name>
</author>
<published>2014-03-03T16:19:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc0a62d726d742265b5539e1d9ac1ce752b41cb0'/>
<id>urn:sha1:fc0a62d726d742265b5539e1d9ac1ce752b41cb0</id>
<content type='text'>
commit 2564338b13e6e132ee224edb63e1e872adf431f4 upstream.

Queued TRIM commands cause problems and silent file system corruption
on Crucial M500 SSDs. This patch disables them for the mSATA model of
the drive.

Signed-off-by: Marios Andreopoulos &lt;opensource@andmarios.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>libata: disable LPM for some WD SATA-I devices</title>
<updated>2014-02-06T19:34:05Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2014-01-16T14:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b78ac03be5b667fb0c59360d317fcda40379d6e'/>
<id>urn:sha1:6b78ac03be5b667fb0c59360d317fcda40379d6e</id>
<content type='text'>
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 &lt;tj@kernel.org&gt;
Reported-and-tested-by: Nikos Barkas &lt;levelwol@gmail.com&gt;
Reported-and-tested-by: Ioannis Barkas &lt;risc4all@yahoo.com&gt;
References: https://bugzilla.kernel.org/show_bug.cgi?id=57211
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs</title>
<updated>2013-12-17T12:03:14Z</updated>
<author>
<name>Marc Carino</name>
</author>
<published>2013-12-17T02:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f78dea064c5f7de07de4912a6e5136dbc443d614'/>
<id>urn:sha1:f78dea064c5f7de07de4912a6e5136dbc443d614</id>
<content type='text'>
Certain drives cannot handle queued TRIM commands properly, even
though support is indicated in the IDENTIFY DEVICE buffer.  This patch
allows for disabling the commands for the affected drives and apply it
to the Micron/Crucial M500 SSDs which exhibit incorrect protocol
behavior when issued queued TRIM commands, which could lead to silent
data corruption.

tj: Merged two unnecessarily split patches and made minor edits
    including shortening horkage name.

Signed-off-by: Marc Carino &lt;marc.ceeeee@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Link: http://lkml.kernel.org/g/1387246554-7311-1-git-send-email-marc.ceeeee@gmail.com
Cc: stable@vger.kernel.org # 3.12+
</content>
</entry>
<entry>
<title>libata: disable a disk via libata.force params</title>
<updated>2013-12-16T17:41:57Z</updated>
<author>
<name>Robin H. Johnson</name>
</author>
<published>2013-12-16T17:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8bd6dc36186fe99afa7b73e9e2d9a98ad5c4865'/>
<id>urn:sha1:b8bd6dc36186fe99afa7b73e9e2d9a98ad5c4865</id>
<content type='text'>
A user on StackExchange had a failing SSD that's soldered directly
onto the motherboard of his system. The BIOS does not give any option
to disable it at all, so he can't just hide it from the OS via the
BIOS.

The old IDE layer had hdX=noprobe override for situations like this,
but that was never ported to the libata layer.

This patch implements a disable flag for libata.force.

Example use:

 libata.force=2.0:disable

[v2 of the patch, removed the nodisable flag per Tejun Heo]

Signed-off-by: Robin H. Johnson &lt;robbat2@gentoo.org&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: stable@vger.kernel.org
Link: http://unix.stackexchange.com/questions/102648/how-to-tell-linux-kernel-3-0-to-completely-ignore-a-failing-disk
Link: http://askubuntu.com/questions/352836/how-can-i-tell-linux-kernel-to-completely-ignore-a-disk-as-if-it-was-not-even-co
Link: http://superuser.com/questions/599333/how-to-disable-kernel-probing-for-drive
</content>
</entry>
<entry>
<title>libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8</title>
<updated>2013-11-29T22:25:47Z</updated>
<author>
<name>Michele Baldessari</name>
</author>
<published>2013-11-25T19:00:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=87809942d3fa60bafb7a58d0bdb1c79e90a6821d'/>
<id>urn:sha1:87809942d3fa60bafb7a58d0bdb1c79e90a6821d</id>
<content type='text'>
We've received multiple reports in Fedora via (BZ 907193)
that the Seagate Momentus SpinPoint M8 errors out when enabling AA:
[    2.555905] ata2.00: failed to enable AA (error_mask=0x1)
[    2.568482] ata2.00: failed to enable AA (error_mask=0x1)

Add the ATA_HORKAGE_BROKEN_FPDMA_AA for this specific harddisk.

Reported-by: Nicholas &lt;arealityfarbetween@googlemail.com&gt;
Signed-off-by: Michele Baldessari &lt;michele@acksyn.org&gt;
Tested-by: Nicholas &lt;arealityfarbetween@googlemail.com&gt;
Acked-by: Alan Cox &lt;gnomes@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>ATA: Fix port removal ordering</title>
<updated>2013-11-27T18:55:16Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2013-11-25T12:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5700766975c69d27150256444db63fbfd103791'/>
<id>urn:sha1:c5700766975c69d27150256444db63fbfd103791</id>
<content type='text'>
After commit bcdde7e221a8 (sysfs: make __sysfs_remove_dir() recursive)
Mika Westerberg sees traces analogous to the one below in Thunderbolt
hot-remove testing:

 WARNING: CPU: 0 PID: 4 at fs/sysfs/group.c:214 sysfs_remove_group+0xc6/0xd0()
 sysfs group ffffffff81c6f1e0 not found for kobject 'host7'
 Modules linked in:
 CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 3.12.0+ #13
 Hardware name:                  /D33217CK, BIOS GKPPT10H.86A.0042.2013.0422.1439 04/22/2013
 Workqueue: kacpi_hotplug acpi_hotplug_work_fn
  0000000000000009 ffff8801002459b0 ffffffff817daab1 ffff8801002459f8
  ffff8801002459e8 ffffffff810436b8 0000000000000000 ffffffff81c6f1e0
  ffff88006d440358 ffff88006d440188 ffff88006e8b4c28 ffff880100245a48
 Call Trace:
  [&lt;ffffffff817daab1&gt;] dump_stack+0x45/0x56
  [&lt;ffffffff810436b8&gt;] warn_slowpath_common+0x78/0xa0
  [&lt;ffffffff81043727&gt;] warn_slowpath_fmt+0x47/0x50
  [&lt;ffffffff811ad319&gt;] ? sysfs_get_dirent_ns+0x49/0x70
  [&lt;ffffffff811ae526&gt;] sysfs_remove_group+0xc6/0xd0
  [&lt;ffffffff81432f7e&gt;] dpm_sysfs_remove+0x3e/0x50
  [&lt;ffffffff8142a0d0&gt;] device_del+0x40/0x1b0
  [&lt;ffffffff8142a24d&gt;] device_unregister+0xd/0x20
  [&lt;ffffffff8144131a&gt;] scsi_remove_host+0xba/0x110
  [&lt;ffffffff8145f526&gt;] ata_host_detach+0xc6/0x100
  [&lt;ffffffff8145f578&gt;] ata_pci_remove_one+0x18/0x20
  [&lt;ffffffff812e8f48&gt;] pci_device_remove+0x28/0x60
  [&lt;ffffffff8142d854&gt;] __device_release_driver+0x64/0xd0
  [&lt;ffffffff8142d8de&gt;] device_release_driver+0x1e/0x30
  [&lt;ffffffff8142d257&gt;] bus_remove_device+0xf7/0x140
  [&lt;ffffffff8142a1b1&gt;] device_del+0x121/0x1b0
  [&lt;ffffffff812e43d4&gt;] pci_stop_bus_device+0x94/0xa0
  [&lt;ffffffff812e437b&gt;] pci_stop_bus_device+0x3b/0xa0
  [&lt;ffffffff812e437b&gt;] pci_stop_bus_device+0x3b/0xa0
  [&lt;ffffffff812e44dd&gt;] pci_stop_and_remove_bus_device+0xd/0x20
  [&lt;ffffffff812fc743&gt;] trim_stale_devices+0x73/0xe0
  [&lt;ffffffff812fc78b&gt;] trim_stale_devices+0xbb/0xe0
  [&lt;ffffffff812fc78b&gt;] trim_stale_devices+0xbb/0xe0
  [&lt;ffffffff812fcb6e&gt;] acpiphp_check_bridge+0x7e/0xd0
  [&lt;ffffffff812fd90d&gt;] hotplug_event+0xcd/0x160
  [&lt;ffffffff812fd9c5&gt;] hotplug_event_work+0x25/0x60
  [&lt;ffffffff81316749&gt;] acpi_hotplug_work_fn+0x17/0x22
  [&lt;ffffffff8105cf3a&gt;] process_one_work+0x17a/0x430
  [&lt;ffffffff8105db29&gt;] worker_thread+0x119/0x390
  [&lt;ffffffff8105da10&gt;] ? manage_workers.isra.25+0x2a0/0x2a0
  [&lt;ffffffff81063a5d&gt;] kthread+0xcd/0xf0
  [&lt;ffffffff81063990&gt;] ? kthread_create_on_node+0x180/0x180
  [&lt;ffffffff817eb33c&gt;] ret_from_fork+0x7c/0xb0
  [&lt;ffffffff81063990&gt;] ? kthread_create_on_node+0x180/0x180

The source of this problem is that SCSI hosts are removed from
ATA ports after calling ata_tport_delete() which removes the
port's sysfs directory, among other things.  Now, after commit
bcdde7e221a8, the sysfs directory is removed along with all of
its subdirectories that include the SCSI host's sysfs directory
and its subdirectories at this point.  Consequently, when
device_del() is finally called for any child device of the SCSI
host and tries to remove its "power" group (which is already
gone then), it triggers the above warning.

To make the warnings go away, change the removal ordering in
ata_port_detach() so that the SCSI host is removed from the
port before ata_tport_delete() is called.

References: https://bugzilla.kernel.org/show_bug.cgi?id=65281
Reported-and-tested-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Tested-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive</title>
<updated>2013-10-28T11:10:03Z</updated>
<author>
<name>Shan Hai</name>
</author>
<published>2013-10-28T08:08:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0523f037f65dba10191b0fa9c51266f90ba64630'/>
<id>urn:sha1:0523f037f65dba10191b0fa9c51266f90ba64630</id>
<content type='text'>
The "Slimtype DVD A  DS8A9SH" drive locks up with following backtrace when
the max sector is smaller than 65535 bytes, fix it by adding a quirk to set
the max sector to 65535 bytes.

INFO: task flush-11:0:663 blocked for more than 120 seconds.
"echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
flush-11:0    D 00000000ffff5ceb     0   663      2 0x00000000
 ffff88026d3b1710 0000000000000046 0000000000000001 0000000000000000
 ffff88026f2530c0 ffff88026d365860 ffff88026d3b16e0 ffffffff812ffd52
 ffff88026d4fd3d0 0000000100000001 ffff88026d3b16f0 ffff88026d3b1fd8
Call Trace:
 [&lt;ffffffff812ffd52&gt;] ? cfq_may_queue+0x52/0xf0
 [&lt;ffffffff81604338&gt;] schedule+0x18/0x30
 [&lt;ffffffff81604392&gt;] io_schedule+0x42/0x60
 [&lt;ffffffff812f22bb&gt;] get_request_wait+0xeb/0x1f0
 [&lt;ffffffff81065660&gt;] ? autoremove_wake_function+0x0/0x40
 [&lt;ffffffff812eb382&gt;] ? elv_merge+0x42/0x210
 [&lt;ffffffff812f26ae&gt;] __make_request+0x8e/0x4e0
 [&lt;ffffffff812f068e&gt;] generic_make_request+0x21e/0x5e0
 [&lt;ffffffff812f0aad&gt;] submit_bio+0x5d/0xd0
 [&lt;ffffffff81141422&gt;] submit_bh+0xf2/0x130
 [&lt;ffffffff8114474c&gt;] __block_write_full_page+0x1dc/0x3a0
 [&lt;ffffffff81143f60&gt;] ? end_buffer_async_write+0x0/0x120
 [&lt;ffffffff811474e0&gt;] ? blkdev_get_block+0x0/0x70
 [&lt;ffffffff811474e0&gt;] ? blkdev_get_block+0x0/0x70
 [&lt;ffffffff81143f60&gt;] ? end_buffer_async_write+0x0/0x120
 [&lt;ffffffff811449ee&gt;] block_write_full_page_endio+0xde/0x100
 [&lt;ffffffff81144a20&gt;] block_write_full_page+0x10/0x20
 [&lt;ffffffff81148703&gt;] blkdev_writepage+0x13/0x20
 [&lt;ffffffff810d7525&gt;] __writepage+0x15/0x40
 [&lt;ffffffff810d7c0f&gt;] write_cache_pages+0x1cf/0x3e0
 [&lt;ffffffff810d7510&gt;] ? __writepage+0x0/0x40
 [&lt;ffffffff810d7e42&gt;] generic_writepages+0x22/0x30
 [&lt;ffffffff810d7e6f&gt;] do_writepages+0x1f/0x40
 [&lt;ffffffff8113ae67&gt;] writeback_single_inode+0xe7/0x3b0
 [&lt;ffffffff8113b574&gt;] writeback_sb_inodes+0x184/0x280
 [&lt;ffffffff8113bedb&gt;] writeback_inodes_wb+0x6b/0x1a0
 [&lt;ffffffff8113c24b&gt;] wb_writeback+0x23b/0x2a0
 [&lt;ffffffff8113c42d&gt;] wb_do_writeback+0x17d/0x190
 [&lt;ffffffff8113c48b&gt;] bdi_writeback_task+0x4b/0xe0
 [&lt;ffffffff810e82a0&gt;] ? bdi_start_fn+0x0/0x100
 [&lt;ffffffff810e8321&gt;] bdi_start_fn+0x81/0x100
 [&lt;ffffffff810e82a0&gt;] ? bdi_start_fn+0x0/0x100
 [&lt;ffffffff8106522e&gt;] kthread+0x8e/0xa0
 [&lt;ffffffff81039274&gt;] ? finish_task_switch+0x54/0xc0
 [&lt;ffffffff81003334&gt;] kernel_thread_helper+0x4/0x10
 [&lt;ffffffff810651a0&gt;] ? kthread+0x0/0xa0
 [&lt;ffffffff81003330&gt;] ? kernel_thread_helper+0x0/0x10

 The above trace was triggered by
   "dd if=/dev/zero of=/dev/sr0 bs=2048 count=32768"

Cc: stable@vger.kernel.org
Signed-off-by: Shan Hai &lt;shan.hai@windriver.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>libata: bugfix: Remove __le32 in ata_tf_to_fis()</title>
<updated>2013-09-03T14:37:41Z</updated>
<author>
<name>Marc Carino</name>
</author>
<published>2013-09-01T15:59:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86a565e61bcb9574bae3b622799682fef2d855bb'/>
<id>urn:sha1:86a565e61bcb9574bae3b622799682fef2d855bb</id>
<content type='text'>
The endianness attribute on the 'aux' local variable is wrong, and can
lead to wrong endianness on big-endian machines,

Signed-off-by: Marc Carino &lt;marc.ceeeee@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
</feed>
