mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 02:03:04 +01:00
Integrating a backport of upstream commit:
ide:ide-cd: fix kernel panic resulting from missing scsi_req_init
commit 79d73346ac05bc31 upstream
Since we split the scsi_request out of struct request, while the
standard prep_rq_fn builds 10 byte cmds, it missed to invoke
scsi_req_init() to initialize certain fields of a scsi_request
structure (.__cmd[], .cmd, .cmd_len and .sense_len but no other
members of struct scsi_request).
An example panic on virtual machines (qemu/virtualbox) to boot
from IDE cdrom:
...
[ 8.754381] Call Trace:
[ 8.755419] blk_peek_request+0x182/0x2e0
[ 8.755863] blk_fetch_request+0x1c/0x40
[ 8.756148] ? ktime_get+0x40/0xa0
[ 8.756385] do_ide_request+0x37d/0x660
[ 8.756704] ? cfq_group_service_tree_add+0x98/0xc0
[ 8.757011] ? cfq_service_tree_add+0x1e5/0x2c0
[ 8.757313] ? ktime_get+0x40/0xa0
[ 8.757544] __blk_run_queue+0x3d/0x60
[ 8.757837] queue_unplugged+0x2f/0xc0
[ 8.758088] blk_flush_plug_list+0x1f4/0x240
[ 8.758362] blk_finish_plug+0x2c/0x40
...
[ 8.770906] RIP: ide_cdrom_prep_fn+0x63/0x180 RSP: ffff92aec018bae8
[ 8.772329] ---[ end trace 6408481e551a85c9 ]---
...
Fixes: 82ed4db499b8 ("block: split scsi_request out of struct request")
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
[bva: modified for 4.12 context]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(From OE-Core rev: 089dc30e11a5bbd10bf6bebea6aa0ac2173bc9a3)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
45 lines
1.9 KiB
BlitzBasic
45 lines
1.9 KiB
BlitzBasic
KBRANCH ?= "standard/base"
|
|
|
|
require recipes-kernel/linux/linux-yocto.inc
|
|
|
|
# board specific branches
|
|
KBRANCH_qemuarm ?= "standard/arm-versatile-926ejs"
|
|
KBRANCH_qemuarm64 ?= "standard/qemuarm64"
|
|
KBRANCH_qemumips ?= "standard/mti-malta32"
|
|
KBRANCH_qemuppc ?= "standard/qemuppc"
|
|
KBRANCH_qemux86 ?= "standard/base"
|
|
KBRANCH_qemux86-64 ?= "standard/base"
|
|
KBRANCH_qemumips64 ?= "standard/mti-malta64"
|
|
|
|
SRCREV_machine_qemuarm ?= "03489013c6844bf3f911e51c5b8cd3bd5c1dc6e9"
|
|
SRCREV_machine_qemuarm64 ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33"
|
|
SRCREV_machine_qemumips ?= "c22264e2e3340eb8affa9a9fc0b86decb2be26c6"
|
|
SRCREV_machine_qemuppc ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33"
|
|
SRCREV_machine_qemux86 ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33"
|
|
SRCREV_machine_qemux86-64 ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33"
|
|
SRCREV_machine_qemumips64 ?= "ead3f1c16e85d1b1074acdd13084b5cdf1104e23"
|
|
SRCREV_machine ?= "9cc6b0ae1aad7312e85ac4134398f81c0140de33"
|
|
SRCREV_meta ?= "cebe198870d781829bd997a188cc34d9f7a61023"
|
|
|
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \
|
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}"
|
|
|
|
LINUX_VERSION ?= "4.12.14"
|
|
|
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
|
|
|
KMETA = "kernel-meta"
|
|
KCONF_BSP_AUDIT_LEVEL = "2"
|
|
|
|
KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb"
|
|
|
|
COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64"
|
|
|
|
# Functionality flags
|
|
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
|
|
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
|
|
KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
|
|
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
|
|
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
|
|
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
|