<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/ata/libata-core.c, branch v3.14</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>libata: use wider match for blacklisting Crucial M500</title>
<updated>2014-03-10T15:17:55+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2014-03-10T15:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=83493d7e782d2630f1a55def14a79f0e7c4faac3'/>
<id>83493d7e782d2630f1a55def14a79f0e7c4faac3</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8 (2BA30001)</title>
<updated>2014-03-07T18:47:34+00:00</updated>
<author>
<name>Michele Baldessari</name>
<email>michele@acksyn.org</email>
</author>
<published>2014-03-07T16:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b28a613e9138e4b3a64649bd60b13436f4b4b49b'/>
<id>b28a613e9138e4b3a64649bd60b13436f4b4b49b</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: disable queued TRIM for Crucial M500 mSATA SSDs</title>
<updated>2014-03-03T22:49:05+00:00</updated>
<author>
<name>Marios Andreopoulos</name>
<email>opensource@andmarios.com</email>
</author>
<published>2014-03-03T16:19:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2564338b13e6e132ee224edb63e1e872adf431f4'/>
<id>2564338b13e6e132ee224edb63e1e872adf431f4</id>
<content type='text'>
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;
Cc: stable@vger.kernel.org # 3.12+
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
Cc: stable@vger.kernel.org # 3.12+
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: disable LPM for some WD SATA-I devices</title>
<updated>2014-01-16T14:49:10+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2014-01-16T14:47:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ecd75ad514d73efc1bbcc5f10a13566c3ace5f53'/>
<id>ecd75ad514d73efc1bbcc5f10a13566c3ace5f53</id>
<content type='text'>
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
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: implement ATA_HORKAGE_NO_NCQ_TRIM and apply it to Micro M500 SSDs</title>
<updated>2013-12-17T12:03:14+00:00</updated>
<author>
<name>Marc Carino</name>
<email>marc.ceeeee@gmail.com</email>
</author>
<published>2013-12-17T02:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f78dea064c5f7de07de4912a6e5136dbc443d614'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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+
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: disable a disk via libata.force params</title>
<updated>2013-12-16T17:41:57+00:00</updated>
<author>
<name>Robin H. Johnson</name>
<email>robbat2@gentoo.org</email>
</author>
<published>2013-12-16T17:31:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b8bd6dc36186fe99afa7b73e9e2d9a98ad5c4865'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8</title>
<updated>2013-11-29T22:25:47+00:00</updated>
<author>
<name>Michele Baldessari</name>
<email>michele@acksyn.org</email>
</author>
<published>2013-11-25T19:00:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=87809942d3fa60bafb7a58d0bdb1c79e90a6821d'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>ATA: Fix port removal ordering</title>
<updated>2013-11-27T18:55:16+00:00</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rafael.j.wysocki@intel.com</email>
</author>
<published>2013-11-25T12:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c5700766975c69d27150256444db63fbfd103791'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive</title>
<updated>2013-10-28T11:10:03+00:00</updated>
<author>
<name>Shan Hai</name>
<email>shan.hai@windriver.com</email>
</author>
<published>2013-10-28T08:08:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0523f037f65dba10191b0fa9c51266f90ba64630'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>libata: bugfix: Remove __le32 in ata_tf_to_fis()</title>
<updated>2013-09-03T14:37:41+00:00</updated>
<author>
<name>Marc Carino</name>
<email>marc.ceeeee@gmail.com</email>
</author>
<published>2013-09-01T15:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=86a565e61bcb9574bae3b622799682fef2d855bb'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
</feed>
