[PATCH 3.2 012/185] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive

2013-12-28 Thread Ben Hutchings
3.2.54-rc1 review patch.  If anyone has any objections, please let me know.

--

From: Shan Hai 

commit 0523f037f65dba10191b0fa9c51266f90ba64630 upstream.

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:0D 5ceb 0   663  2 0x
 88026d3b1710 0046 0001 
 88026f2530c0 88026d365860 88026d3b16e0 812ffd52
 88026d4fd3d0 00010001 88026d3b16f0 88026d3b1fd8
Call Trace:
 [] ? cfq_may_queue+0x52/0xf0
 [] schedule+0x18/0x30
 [] io_schedule+0x42/0x60
 [] get_request_wait+0xeb/0x1f0
 [] ? autoremove_wake_function+0x0/0x40
 [] ? elv_merge+0x42/0x210
 [] __make_request+0x8e/0x4e0
 [] generic_make_request+0x21e/0x5e0
 [] submit_bio+0x5d/0xd0
 [] submit_bh+0xf2/0x130
 [] __block_write_full_page+0x1dc/0x3a0
 [] ? end_buffer_async_write+0x0/0x120
 [] ? blkdev_get_block+0x0/0x70
 [] ? blkdev_get_block+0x0/0x70
 [] ? end_buffer_async_write+0x0/0x120
 [] block_write_full_page_endio+0xde/0x100
 [] block_write_full_page+0x10/0x20
 [] blkdev_writepage+0x13/0x20
 [] __writepage+0x15/0x40
 [] write_cache_pages+0x1cf/0x3e0
 [] ? __writepage+0x0/0x40
 [] generic_writepages+0x22/0x30
 [] do_writepages+0x1f/0x40
 [] writeback_single_inode+0xe7/0x3b0
 [] writeback_sb_inodes+0x184/0x280
 [] writeback_inodes_wb+0x6b/0x1a0
 [] wb_writeback+0x23b/0x2a0
 [] wb_do_writeback+0x17d/0x190
 [] bdi_writeback_task+0x4b/0xe0
 [] ? bdi_start_fn+0x0/0x100
 [] bdi_start_fn+0x81/0x100
 [] ? bdi_start_fn+0x0/0x100
 [] kthread+0x8e/0xa0
 [] ? finish_task_switch+0x54/0xc0
 [] kernel_thread_helper+0x4/0x10
 [] ? kthread+0x0/0xa0
 [] ? kernel_thread_helper+0x0/0x10

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

Signed-off-by: Shan Hai 
Signed-off-by: Tejun Heo 
Signed-off-by: Ben Hutchings 
---
 drivers/ata/libata-core.c | 1 +
 1 file changed, 1 insertion(+)

--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4067,6 +4067,7 @@ static const struct ata_blacklist_entry
{ "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 },
{ "QUANTUM DATDAT72-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 */
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3.2 012/185] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive

2013-12-28 Thread Ben Hutchings
3.2.54-rc1 review patch.  If anyone has any objections, please let me know.

--

From: Shan Hai shan@windriver.com

commit 0523f037f65dba10191b0fa9c51266f90ba64630 upstream.

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:0D 5ceb 0   663  2 0x
 88026d3b1710 0046 0001 
 88026f2530c0 88026d365860 88026d3b16e0 812ffd52
 88026d4fd3d0 00010001 88026d3b16f0 88026d3b1fd8
Call Trace:
 [812ffd52] ? cfq_may_queue+0x52/0xf0
 [81604338] schedule+0x18/0x30
 [81604392] io_schedule+0x42/0x60
 [812f22bb] get_request_wait+0xeb/0x1f0
 [81065660] ? autoremove_wake_function+0x0/0x40
 [812eb382] ? elv_merge+0x42/0x210
 [812f26ae] __make_request+0x8e/0x4e0
 [812f068e] generic_make_request+0x21e/0x5e0
 [812f0aad] submit_bio+0x5d/0xd0
 [81141422] submit_bh+0xf2/0x130
 [8114474c] __block_write_full_page+0x1dc/0x3a0
 [81143f60] ? end_buffer_async_write+0x0/0x120
 [811474e0] ? blkdev_get_block+0x0/0x70
 [811474e0] ? blkdev_get_block+0x0/0x70
 [81143f60] ? end_buffer_async_write+0x0/0x120
 [811449ee] block_write_full_page_endio+0xde/0x100
 [81144a20] block_write_full_page+0x10/0x20
 [81148703] blkdev_writepage+0x13/0x20
 [810d7525] __writepage+0x15/0x40
 [810d7c0f] write_cache_pages+0x1cf/0x3e0
 [810d7510] ? __writepage+0x0/0x40
 [810d7e42] generic_writepages+0x22/0x30
 [810d7e6f] do_writepages+0x1f/0x40
 [8113ae67] writeback_single_inode+0xe7/0x3b0
 [8113b574] writeback_sb_inodes+0x184/0x280
 [8113bedb] writeback_inodes_wb+0x6b/0x1a0
 [8113c24b] wb_writeback+0x23b/0x2a0
 [8113c42d] wb_do_writeback+0x17d/0x190
 [8113c48b] bdi_writeback_task+0x4b/0xe0
 [810e82a0] ? bdi_start_fn+0x0/0x100
 [810e8321] bdi_start_fn+0x81/0x100
 [810e82a0] ? bdi_start_fn+0x0/0x100
 [8106522e] kthread+0x8e/0xa0
 [81039274] ? finish_task_switch+0x54/0xc0
 [81003334] kernel_thread_helper+0x4/0x10
 [810651a0] ? kthread+0x0/0xa0
 [81003330] ? kernel_thread_helper+0x0/0x10

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

Signed-off-by: Shan Hai shan@windriver.com
Signed-off-by: Tejun Heo t...@kernel.org
Signed-off-by: Ben Hutchings b...@decadent.org.uk
---
 drivers/ata/libata-core.c | 1 +
 1 file changed, 1 insertion(+)

--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -4067,6 +4067,7 @@ static const struct ata_blacklist_entry
{ TORiSAN DVD-ROM DRD-N216, NULL, ATA_HORKAGE_MAX_SEC_128 },
{ QUANTUM DATDAT72-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 */
 

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/