linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] Add a quirk for Slimtype DVD drive
@ 2013-10-28  8:08 Shan Hai
  2013-10-28  8:08 ` [PATCH 1/1] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Shan Hai
  0 siblings, 1 reply; 3+ messages in thread
From: Shan Hai @ 2013-10-28  8:08 UTC (permalink / raw)
  To: tj; +Cc: linux-ide


The Slimtype DVD DS8A9SH drive could not work with sector size smaller than
65535 bytes, the write would hang on smaller sector sizes, add a qurik to set
the max sector size to 65535 bytes.

drivers/ata/libata-core.c |    1 +
1 files changed, 1 insertions(+), 0 deletions(-)

Thanks
Shan Hai


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
  2013-10-28  8:08 [PATCH 0/1] Add a quirk for Slimtype DVD drive Shan Hai
@ 2013-10-28  8:08 ` Shan Hai
  2013-10-28 11:11   ` Tejun Heo
  0 siblings, 1 reply; 3+ messages in thread
From: Shan Hai @ 2013-10-28  8:08 UTC (permalink / raw)
  To: tj; +Cc: linux-ide

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 > /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:
 [<ffffffff812ffd52>] ? cfq_may_queue+0x52/0xf0
 [<ffffffff81604338>] schedule+0x18/0x30
 [<ffffffff81604392>] io_schedule+0x42/0x60
 [<ffffffff812f22bb>] get_request_wait+0xeb/0x1f0
 [<ffffffff81065660>] ? autoremove_wake_function+0x0/0x40
 [<ffffffff812eb382>] ? elv_merge+0x42/0x210
 [<ffffffff812f26ae>] __make_request+0x8e/0x4e0
 [<ffffffff812f068e>] generic_make_request+0x21e/0x5e0
 [<ffffffff812f0aad>] submit_bio+0x5d/0xd0
 [<ffffffff81141422>] submit_bh+0xf2/0x130
 [<ffffffff8114474c>] __block_write_full_page+0x1dc/0x3a0
 [<ffffffff81143f60>] ? end_buffer_async_write+0x0/0x120
 [<ffffffff811474e0>] ? blkdev_get_block+0x0/0x70
 [<ffffffff811474e0>] ? blkdev_get_block+0x0/0x70
 [<ffffffff81143f60>] ? end_buffer_async_write+0x0/0x120
 [<ffffffff811449ee>] block_write_full_page_endio+0xde/0x100
 [<ffffffff81144a20>] block_write_full_page+0x10/0x20
 [<ffffffff81148703>] blkdev_writepage+0x13/0x20
 [<ffffffff810d7525>] __writepage+0x15/0x40
 [<ffffffff810d7c0f>] write_cache_pages+0x1cf/0x3e0
 [<ffffffff810d7510>] ? __writepage+0x0/0x40
 [<ffffffff810d7e42>] generic_writepages+0x22/0x30
 [<ffffffff810d7e6f>] do_writepages+0x1f/0x40
 [<ffffffff8113ae67>] writeback_single_inode+0xe7/0x3b0
 [<ffffffff8113b574>] writeback_sb_inodes+0x184/0x280
 [<ffffffff8113bedb>] writeback_inodes_wb+0x6b/0x1a0
 [<ffffffff8113c24b>] wb_writeback+0x23b/0x2a0
 [<ffffffff8113c42d>] wb_do_writeback+0x17d/0x190
 [<ffffffff8113c48b>] bdi_writeback_task+0x4b/0xe0
 [<ffffffff810e82a0>] ? bdi_start_fn+0x0/0x100
 [<ffffffff810e8321>] bdi_start_fn+0x81/0x100
 [<ffffffff810e82a0>] ? bdi_start_fn+0x0/0x100
 [<ffffffff8106522e>] kthread+0x8e/0xa0
 [<ffffffff81039274>] ? finish_task_switch+0x54/0xc0
 [<ffffffff81003334>] kernel_thread_helper+0x4/0x10
 [<ffffffff810651a0>] ? kthread+0x0/0xa0
 [<ffffffff81003330>] ? 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 <shan.hai@windriver.com>
---
 drivers/ata/libata-core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index c139b33..079d887 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4298,6 +4298,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	{ "TORiSAN DVD-ROM DRD-N216", NULL,	ATA_HORKAGE_MAX_SEC_128 },
 	{ "QUANTUM DAT    DAT72-000", NULL,	ATA_HORKAGE_ATAPI_MOD16_DMA },
 	{ "Slimtype DVD A  DS8A8SH", NULL,	ATA_HORKAGE_MAX_SEC_LBA48 },
+	{ "Slimtype DVD A  DS8A9SH", NULL,	ATA_HORKAGE_MAX_SEC_LBA48 },
 
 	/* Devices we expect to fail diagnostics */
 
-- 
1.7.0.5


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
  2013-10-28  8:08 ` [PATCH 1/1] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Shan Hai
@ 2013-10-28 11:11   ` Tejun Heo
  0 siblings, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2013-10-28 11:11 UTC (permalink / raw)
  To: Shan Hai; +Cc: linux-ide

On Mon, Oct 28, 2013 at 04:08:01PM +0800, Shan Hai wrote:
> 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.
...
>  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 <shan.hai@windriver.com>

Applied to libata/for-3.13.  Thanks.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-28 11:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-28  8:08 [PATCH 0/1] Add a quirk for Slimtype DVD drive Shan Hai
2013-10-28  8:08 ` [PATCH 1/1] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Shan Hai
2013-10-28 11:11   ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).