summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2019-02-21 12:10:07 -0600
committerCorey Minyard <cminyard@mvista.com>2019-02-22 07:12:41 -0600
commit41b766d661bf94a364960862cfc248a78313dbd3 (patch)
treee623d8249e3d353e59d0cd6a09b333c3c069bb6f /tools
parentf32043901a389ee8b5417c0cec547a84a2f9b38a (diff)
downloadlinux-stable-41b766d661bf94a364960862cfc248a78313dbd3.tar.gz
linux-stable-41b766d661bf94a364960862cfc248a78313dbd3.tar.bz2
linux-stable-41b766d661bf94a364960862cfc248a78313dbd3.zip
ipmi_si: Fix crash when using hard-coded device
When excuting a command like: modprobe ipmi_si ports=0xffc0e3 type=bt The system would get an oops. The trouble here is that ipmi_si_hardcode_find_bmc() is called before ipmi_si_platform_init(), but initialization of the hard-coded device creates an IPMI platform device, which won't be initialized yet. The real trouble is that hard-coded devices aren't created with any device, and the fixup is done later. So do it right, create the hard-coded devices as normal platform devices. This required adding some new resource types to the IPMI platform code for passing information required by the hard-coded device and adding some code to remove the hard-coded platform devices on module removal. To enforce the "hard-coded devices passed by the user take priority over firmware devices" rule, some special code was added to check and see if a hard-coded device already exists. Reported-by: Yang Yingliang <yangyingliang@huawei.com> Cc: stable@vger.kernel.org # v4.15+ Signed-off-by: Corey Minyard <cminyard@mvista.com> Tested-by: Yang Yingliang <yangyingliang@huawei.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions