[PATCH 3.2 012/185] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
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
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/