<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/char/ipmi/ipmi_si_hardcode.c, branch v6.12.80</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2023-12-19T12:32:27+00:00</updated>
<entry>
<title>ipmi: Use regspacings passed as a module parameter</title>
<updated>2023-12-19T12:32:27+00:00</updated>
<author>
<name>Emilio Perez</name>
<email>emiliopeju@gmail.com</email>
</author>
<published>2023-11-22T20:34:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=242c6fd473a6a74eac4d4002be715a0d0dede036'/>
<id>urn:sha1:242c6fd473a6a74eac4d4002be715a0d0dede036</id>
<content type='text'>
regspacings parameter is currently ignored and the platform data uses a
default value of 0, this has been fixed by setting the appropriate field
in the platform data.

Fixes: 3cd83bac481d ("ipmi: Consolidate the adding of platform devices")
Signed-off-by: Emilio Perez &lt;emiliopeju@gmail.com&gt;
Message-Id: &lt;20231122203433.443098-1-emiliopeju@gmail.com&gt;
Signed-off-by: Corey Minyard &lt;minyard@acm.org&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Join string literals back</title>
<updated>2021-04-02T17:53:42+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2021-04-02T17:43:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=07cbd87b0416d7b6b8419b2a56bc63659de5d066'/>
<id>urn:sha1:07cbd87b0416d7b6b8419b2a56bc63659de5d066</id>
<content type='text'>
For easy grepping on debug purposes join string literals back in
the messages.

No functional change.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Message-Id: &lt;20210402174334.13466-11-andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Reuse si_to_str[] array in ipmi_hardcode_init_one()</title>
<updated>2021-04-02T17:53:32+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2021-04-02T17:43:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=59cdb2e7c849656a1509b8c20cab2be1743631b2'/>
<id>urn:sha1:59cdb2e7c849656a1509b8c20cab2be1743631b2</id>
<content type='text'>
Instead of making the comparison one by one, reuse si_to_str[] array
in ipmi_hardcode_init_one() in conjunction with match_string() API.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Message-Id: &lt;20210402174334.13466-7-andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Add the i2c-addr property for SSIF interfaces</title>
<updated>2019-04-24T14:02:53+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-04-24T13:32:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d73236383eb1cd4b7b65c33a09f0ed45f6781f40'/>
<id>urn:sha1:d73236383eb1cd4b7b65c33a09f0ed45f6781f40</id>
<content type='text'>
This is required for SSIF to work.

There was no way to know if the interface being added was SI
or SSIF from the platform data, but that was required so the
i2c-addr is only added for SSIF interfaces.  So add a field
for that.

Also rework the logic a bit so that ipmi-type is not set
for SSIF interfaces, as it is not necessary for that.

Fixes: 3cd83bac481d ("ipmi: Consolidate the adding of platform devices")
Reported-by: Kamlakant Patel &lt;kamlakantp@marvell.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Cc: stable@vger.kernel.org # 5.1
</content>
</entry>
<entry>
<title>ipmi: ipmi_si_hardcode.c: init si_type array to fix a crash</title>
<updated>2019-04-16T21:36:49+00:00</updated>
<author>
<name>Tony Camuso</name>
<email>tcamuso@redhat.com</email>
</author>
<published>2019-04-09T19:20:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a885bcfd152f97b25005298ab2d6b741aed9b49c'/>
<id>urn:sha1:a885bcfd152f97b25005298ab2d6b741aed9b49c</id>
<content type='text'>
The intended behavior of function ipmi_hardcode_init_one() is to default
to kcs interface when no type argument is presented when initializing
ipmi with hard coded addresses.

However, the array of char pointers allocated on the stack by function
ipmi_hardcode_init() was not inited to zeroes, so it contained stack
debris.

Consequently, passing the cruft stored in this array to function
ipmi_hardcode_init_one() caused a crash when it was unable to detect
that the char * being passed was nonsense and tried to access the
address specified by the bogus pointer.

The fix is simply to initialize the si_type array to zeroes, so if
there were no type argument given to at the command line, function
ipmi_hardcode_init_one() could properly default to the kcs interface.

Signed-off-by: Tony Camuso &lt;tcamuso@redhat.com&gt;
Message-Id: &lt;1554837603-40299-1-git-send-email-tcamuso@redhat.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Consolidate scanning the platform bus</title>
<updated>2019-02-22T13:12:41+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-02-21T23:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e17c657100d592115fcfad27472cd611fd74b861'/>
<id>urn:sha1:e17c657100d592115fcfad27472cd611fd74b861</id>
<content type='text'>
The same basic code was in two places.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Remove hardcode IPMI devices by scanning the platform bus</title>
<updated>2019-02-22T13:12:41+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-02-21T23:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1a84df2df8ebb1083cb57be6808fbf36d9cabe0e'/>
<id>urn:sha1:1a84df2df8ebb1083cb57be6808fbf36d9cabe0e</id>
<content type='text'>
Instead of keeping track of each one, just scan the platform bus
for hardcode devices and remove them.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Consolidate the adding of platform devices</title>
<updated>2019-02-22T13:12:41+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-02-21T20:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3cd83bac481dc4fde8bedf09c8aecb3652e7e547'/>
<id>urn:sha1:3cd83bac481dc4fde8bedf09c8aecb3652e7e547</id>
<content type='text'>
It was being done in two different places now that hard-coded devices
use platform devices, and it's about to be three with hotmod switching
to platform devices.  So put the code in one place.

This required some rework on some interfaces to make the type space
clean.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Rename addr_type to addr_space to match what it does</title>
<updated>2019-02-22T13:12:41+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-02-21T18:53:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f6296bdc49c4d3794b5a3ef0012fc0889e2f3f94'/>
<id>urn:sha1:f6296bdc49c4d3794b5a3ef0012fc0889e2f3f94</id>
<content type='text'>
Make the naming consistent, and make the values an enum.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi_si: Fix crash when using hard-coded device</title>
<updated>2019-02-22T13:12:41+00:00</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2019-02-21T18:10:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=41b766d661bf94a364960862cfc248a78313dbd3'/>
<id>urn:sha1:41b766d661bf94a364960862cfc248a78313dbd3</id>
<content type='text'>
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 &lt;yangyingliang@huawei.com&gt;
Cc: stable@vger.kernel.org # v4.15+
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Tested-by: Yang Yingliang &lt;yangyingliang@huawei.com&gt;
</content>
</entry>
</feed>
