Wind River Support Network

HomeDefectsLIN10-2063
Fixed

LIN10-2063 : IDE driver in the kernel 4.12 is fragile and cause backtraces.

Created: Sep 26, 2017    Updated: Mar 24, 2018
Resolved Date: Mar 6, 2018
Found In Version: 10.17.41.1
Fix Version: 10.17.41.1
Severity: Standard
Applicable for: Wind River Linux LTS 17
Component/s: Kernel

Description

1. When using virtualbox to boot iso image with IDE controller,
the system is hung, the workaround is using SATA controller
to instead.

2. The qemu have the same issue, and the community use virtio to
workaround.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ca940601b889fde1f3ad37c13540383c3516bb96

3. On some board (NUC target and a Dell desktop,),
the kernel booted with call trace:
...
[ 8.804039] Call Trace: 
[ 8.813995] blk_peek_request+0x189/0x2d0 
[ 8.874067] blk_fetch_request+0x12/0x30 
[ 8.874388] ? blk_start_plug+0x50/0x50 
[ 8.874711] do_ide_request+0x37d/0x660 
[ 8.875028] ? timerqueue_del+0x24/0x50 
[ 8.875368] ? __remove_hrtimer+0x3c/0x70 
[ 8.904104] __blk_run_queue+0x33/0x40 
[ 8.944304] cfq_insert_request+0x397/0x5d0 
[ 8.944663] __elv_add_request+0x148/0x250 
[ 8.964085] blk_flush_plug_list+0x223/0x240 
[ 8.974236] blk_finish_plug+0x2c/0x40 
[ 8.984180] __do_page_cache_readahead+0x1bd/0x260 
[ 9.004181] ? do_page_fault+0x22/0x30 
[ 9.004427] force_page_cache_readahead+0xb5/0x110 
[ 9.044210] ? force_page_cache_readahead+0xb5/0x110 
[ 9.044530] page_cache_sync_readahead+0x3f/0x50 
[ 9.124210] generic_file_read_iter+0x54b/0x700 
[ 9.124712] blkdev_read_iter+0x35/0x40 
[ 9.125120] __vfs_read+0xbf/0x110
...
The call trace is no harm.

Since kernel 4.12 does not fix the issue, we have to use the workaround
way on virtualbox/qemu, and ignore the call trace on real board

4. Another workaround is manually set kernel config, to disable ide
and enable apa piix:
... 
# CONFIG_IDE is not set 
CONFIG_ATA_PIIX=y 
... 

5. Fixed patch

Merged into kernel 4.14 by upstream linux 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=79d73346ac05bc31f2e96f899c4e9aaaa616a8d4 

Merged into kernel 4.12 by upstream yocto 
http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-4.12/commit/?h=standard/base&id=9cc6b0ae1aad7312e85ac4134398f81c0140de33 
Live chat
Online