<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/char/ipmi, branch v4.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-04-11T01:51:42Z</updated>
<entry>
<title>ipmi_ssif: Use interruptible completion for waiting in the thread</title>
<updated>2015-04-11T01:51:42Z</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2015-04-04T06:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d0acf734d886ce50bb5103cc75f7ca39f280e8a7'/>
<id>urn:sha1:d0acf734d886ce50bb5103cc75f7ca39f280e8a7</id>
<content type='text'>
The code was using an normal completion, but that caused stuck
task errors after a while.  Use an interruptible one to avoid that.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi/powernv: Fix minor locking bug</title>
<updated>2015-04-11T01:51:42Z</updated>
<author>
<name>Alistair Popple</name>
<email>alistair@popple.id.au</email>
</author>
<published>2015-04-10T07:32:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0'/>
<id>urn:sha1:ad1ed2a9dd4c435d6a3ce470211db9a8d107c3e0</id>
<content type='text'>
If ipmi_powernv_recv(...) is called without a current message it
prints a warning and returns. However it fails to release the message
lock causing the system to dead lock during any subsequent IPMI
operations.

This error path should never normally be taken unless there are bugs
elsewhere in the system.

Signed-off-by: Alistair Popple &lt;alistair@popple.id.au&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Handle BMCs that don't allow clearing the rcv irq bit</title>
<updated>2015-04-11T01:51:42Z</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2015-04-03T17:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1e7d6a45f6b10bc48a1453bca3d829e210546571'/>
<id>urn:sha1:1e7d6a45f6b10bc48a1453bca3d829e210546571</id>
<content type='text'>
Some BMCs don't let you clear the receive irq bit in the global
enables.  This is kind of silly, but they give an error if you
try to clear it.  Compensate for this by detecting the situation
and working around it.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
Tested-by: Thomas D &lt;whissi@whissi.de&gt;
Reviewed-by: Thomas D &lt;whissi@whissi.de&gt;
</content>
</entry>
<entry>
<title>ipmi: Fix a memory ordering issue</title>
<updated>2015-02-20T02:58:42Z</updated>
<author>
<name>Corey Minyard</name>
<email>cminyard@mvista.com</email>
</author>
<published>2015-02-19T14:25:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1d86e29b4a612eb01c39daa48749ab7964e77e03'/>
<id>urn:sha1:1d86e29b4a612eb01c39daa48749ab7964e77e03</id>
<content type='text'>
From a locking point of view it is safe to check waiting_msg without
a lock, but there is a memory ordering issue that causes it to
possibly not be set right when viewed from another processor.  We are
already claiming a lock right after that, move the check to inside
the lock to enforce the memory ordering.

Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Remove uses of return value of seq_printf</title>
<updated>2015-02-20T02:58:41Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2015-02-17T19:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6c5dc18d863338528f4e89e8dba9449c6e30f4e'/>
<id>urn:sha1:d6c5dc18d863338528f4e89e8dba9449c6e30f4e</id>
<content type='text'>
The seq_printf like functions will soon be changed to return void.

Convert these uses to check seq_has_overflowed instead.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Use is_visible callback for conditional sysfs entries</title>
<updated>2015-02-20T02:58:40Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2015-02-04T14:36:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2d06a0c9b3756404e141cafcd62b29ce05238007'/>
<id>urn:sha1:2d06a0c9b3756404e141cafcd62b29ce05238007</id>
<content type='text'>
Instead of manual calls of device_create_file() and
device_remove_file(), implement the condition in is_visible callback
for the attribute group and put these entries to the group, too.
This simplifies the code and avoids the possible races.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Free ipmi_recv_msg messages from the linked list on close</title>
<updated>2015-02-20T02:58:40Z</updated>
<author>
<name>Nicholas Krause</name>
<email>xerofoify@gmail.com</email>
</author>
<published>2015-01-31T05:17:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bdf2829cb673afc3aeb4f04531546c7605e8d94e'/>
<id>urn:sha1:bdf2829cb673afc3aeb4f04531546c7605e8d94e</id>
<content type='text'>
This adds a loop through the elements in the linked list, recv_msgs using
list_for_entry_safe in order to free messages in this list.  In addition
we are using the safe version of this marco in order to prevent use after
bugs related to deleting the element we are on currently by holding a
pointer to the next element after the current one we are on and freeing
with the function, ipmi_free_recv_msg internally in this loop.

Signed-off-by: Nicholas Krause &lt;xerofoify@gmail.com&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: avoid gcc warning</title>
<updated>2015-02-20T02:58:18Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2015-01-28T15:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=191cc41405188780e5f8f3c90d84a1e747d962e9'/>
<id>urn:sha1:191cc41405188780e5f8f3c90d84a1e747d962e9</id>
<content type='text'>
A new harmless warning has come up on ARM builds with gcc-4.9:

drivers/char/ipmi/ipmi_msghandler.c: In function 'smi_send.isra.11':
include/linux/spinlock.h:372:95: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
  raw_spin_unlock_irqrestore(&amp;lock-&gt;rlock, flags);
                                                                                               ^
drivers/char/ipmi/ipmi_msghandler.c:1490:16: note: 'flags' was declared here
  unsigned long flags;
                ^

This could be worked around by initializing the 'flags' variable, but it
seems better to rework the code to avoid this.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: 7ea0ed2b5be81 ("ipmi: Make the message handler easier to use for SMI interfaces")
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Update timespec usage to timespec64</title>
<updated>2015-02-20T01:54:51Z</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2015-01-07T22:24:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=48862ea2ce86370b708614506d93f07ed09b066f'/>
<id>urn:sha1:48862ea2ce86370b708614506d93f07ed09b066f</id>
<content type='text'>
As part of the internal y2038 cleanup, this patch removes
timespec usage in the ipmi driver, replacing it timespec64

Cc: openipmi-developer@lists.sourceforge.net
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Corey Minyard &lt;minyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>ipmi: Cleanup DEBUG_TIMING ifdef usage</title>
<updated>2015-02-20T01:54:51Z</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2015-01-07T22:24:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f93aae9f8d30fc96fc57740f5e9260cf719c39d9'/>
<id>urn:sha1:f93aae9f8d30fc96fc57740f5e9260cf719c39d9</id>
<content type='text'>
The driver uses #ifdef DEBUG_TIMING in order to conditionally print out
timestamped debug messages. Unfortunately it adds the ifdefs all over the
usage sites.

This patch cleans it up by adding a debug_timestamp() function which
is compiled out if DEBUG_TIMING isn't present. This cleans up all
the ugly ifdefs in the function logic.

Cc: openipmi-developer@lists.sourceforge.net
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: Corey Minyard &lt;minyard@mvista.com&gt;
</content>
</entry>
</feed>
