Searched hist:"41 b766d661bf94a364960862cfc248a78313dbd3" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/drivers/char/ipmi/ |
H A D | ipmi_si.h | diff 41b766d661bf94a364960862cfc248a78313dbd3 Thu Feb 21 12:10:07 CST 2019 Corey Minyard <cminyard@mvista.com> 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>
|
H A D | ipmi_si_hardcode.c | diff 41b766d661bf94a364960862cfc248a78313dbd3 Thu Feb 21 12:10:07 CST 2019 Corey Minyard <cminyard@mvista.com> 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>
|
H A D | ipmi_si_platform.c | diff 41b766d661bf94a364960862cfc248a78313dbd3 Thu Feb 21 12:10:07 CST 2019 Corey Minyard <cminyard@mvista.com> 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>
|
H A D | ipmi_si_intf.c | diff 41b766d661bf94a364960862cfc248a78313dbd3 Thu Feb 21 12:10:07 CST 2019 Corey Minyard <cminyard@mvista.com> 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>
|