<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/misc, branch linux-3.13.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>mei: set client's read_cb to NULL when flow control fails</title>
<updated>2014-03-07T06:06:24+00:00</updated>
<author>
<name>Chao Bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2014-02-12T19:27:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=cda6b481a453976f489d7f33595fd16ee4e7db40'/>
<id>cda6b481a453976f489d7f33595fd16ee4e7db40</id>
<content type='text'>
commit accb884b32e82f943340688c9cd30290531e73e0 upstream.

In mei_cl_read_start(), if it fails to send flow control request, it
will release "cl-&gt;read_cb" but forget to set pointer to NULL, leaving
"cl-&gt;read_cb" still pointing to random memory, next time this client is
operated like mei_release(), it has chance to refer to this wrong pointer.

Fixes:  PANIC at kfree in mei_release()

[228781.826904] Call Trace:
[228781.829737]  [&lt;c16249b8&gt;] ? mei_cl_unlink+0x48/0xa0
[228781.835283]  [&lt;c1624487&gt;] mei_io_cb_free+0x17/0x30
[228781.840733]  [&lt;c16265d8&gt;] mei_release+0xa8/0x180
[228781.845989]  [&lt;c135c610&gt;] ? __fsnotify_parent+0xa0/0xf0
[228781.851925]  [&lt;c1325a69&gt;] __fput+0xd9/0x200
[228781.856696]  [&lt;c1325b9d&gt;] ____fput+0xd/0x10
[228781.861467]  [&lt;c125cae1&gt;] task_work_run+0x81/0xb0
[228781.866821]  [&lt;c1242e53&gt;] do_exit+0x283/0xa00
[228781.871786]  [&lt;c1a82b36&gt;] ? kprobe_flush_task+0x66/0xc0
[228781.877722]  [&lt;c124eeb8&gt;] ? __dequeue_signal+0x18/0x1a0
[228781.883657]  [&lt;c124f072&gt;] ? dequeue_signal+0x32/0x190
[228781.889397]  [&lt;c1243744&gt;] do_group_exit+0x34/0xa0
[228781.894750]  [&lt;c12517b6&gt;] get_signal_to_deliver+0x206/0x610
[228781.901075]  [&lt;c12018d8&gt;] do_signal+0x38/0x100
[228781.906136]  [&lt;c1626d1c&gt;] ? mei_read+0x42c/0x4e0
[228781.911393]  [&lt;c12600a0&gt;] ? wake_up_bit+0x30/0x30
[228781.916745]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.922001]  [&lt;c1324be9&gt;] ? vfs_read+0x89/0x160
[228781.927158]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.932414]  [&lt;c133ca34&gt;] ? fget_light+0x44/0xe0
[228781.937670]  [&lt;c1324e58&gt;] ? SyS_read+0x68/0x80
[228781.942730]  [&lt;c12019f5&gt;] do_notify_resume+0x55/0x70
[228781.948376]  [&lt;c1a7de5d&gt;] work_notifysig+0x29/0x30
[228781.953827]  [&lt;c1a70000&gt;] ? bad_area+0x5/0x3e

Signed-off-by: Chao Bi &lt;chao.bi@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit accb884b32e82f943340688c9cd30290531e73e0 upstream.

In mei_cl_read_start(), if it fails to send flow control request, it
will release "cl-&gt;read_cb" but forget to set pointer to NULL, leaving
"cl-&gt;read_cb" still pointing to random memory, next time this client is
operated like mei_release(), it has chance to refer to this wrong pointer.

Fixes:  PANIC at kfree in mei_release()

[228781.826904] Call Trace:
[228781.829737]  [&lt;c16249b8&gt;] ? mei_cl_unlink+0x48/0xa0
[228781.835283]  [&lt;c1624487&gt;] mei_io_cb_free+0x17/0x30
[228781.840733]  [&lt;c16265d8&gt;] mei_release+0xa8/0x180
[228781.845989]  [&lt;c135c610&gt;] ? __fsnotify_parent+0xa0/0xf0
[228781.851925]  [&lt;c1325a69&gt;] __fput+0xd9/0x200
[228781.856696]  [&lt;c1325b9d&gt;] ____fput+0xd/0x10
[228781.861467]  [&lt;c125cae1&gt;] task_work_run+0x81/0xb0
[228781.866821]  [&lt;c1242e53&gt;] do_exit+0x283/0xa00
[228781.871786]  [&lt;c1a82b36&gt;] ? kprobe_flush_task+0x66/0xc0
[228781.877722]  [&lt;c124eeb8&gt;] ? __dequeue_signal+0x18/0x1a0
[228781.883657]  [&lt;c124f072&gt;] ? dequeue_signal+0x32/0x190
[228781.889397]  [&lt;c1243744&gt;] do_group_exit+0x34/0xa0
[228781.894750]  [&lt;c12517b6&gt;] get_signal_to_deliver+0x206/0x610
[228781.901075]  [&lt;c12018d8&gt;] do_signal+0x38/0x100
[228781.906136]  [&lt;c1626d1c&gt;] ? mei_read+0x42c/0x4e0
[228781.911393]  [&lt;c12600a0&gt;] ? wake_up_bit+0x30/0x30
[228781.916745]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.922001]  [&lt;c1324be9&gt;] ? vfs_read+0x89/0x160
[228781.927158]  [&lt;c16268f0&gt;] ? mei_poll+0x120/0x120
[228781.932414]  [&lt;c133ca34&gt;] ? fget_light+0x44/0xe0
[228781.937670]  [&lt;c1324e58&gt;] ? SyS_read+0x68/0x80
[228781.942730]  [&lt;c12019f5&gt;] do_notify_resume+0x55/0x70
[228781.948376]  [&lt;c1a7de5d&gt;] work_notifysig+0x29/0x30
[228781.953827]  [&lt;c1a70000&gt;] ? bad_area+0x5/0x3e

Signed-off-by: Chao Bi &lt;chao.bi@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>misc: mic: fix possible signed underflow (undefined behavior) in userspace API</title>
<updated>2014-02-22T21:34:57+00:00</updated>
<author>
<name>Sudeep Dutt</name>
<email>sudeep.dutt@intel.com</email>
</author>
<published>2014-02-03T22:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ea751ea7a0fef5e60ac9a876d383983b827fd05d'/>
<id>ea751ea7a0fef5e60ac9a876d383983b827fd05d</id>
<content type='text'>
commit 3b1cc9b9622a022208ec95b1259b05bbdf712eb7 upstream.

iovcnt is declared as a signed integer in both the userspace API and
as a local variable in mic_virtio.c. The while() loop in mic_virtio.c
iterates until the local variable iovcnt reaches the value 0. If
userspace passes e.g. INT_MIN as iovcnt field, this loop then appears
to depend on an undefined behavior (signed underflow) to complete.
The fix is to use unsigned integers in both the userspace API and
the local variable.

This issue was reported @ https://lkml.org/lkml/2014/1/10/10

Reported-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Reviewed-by: Ashutosh Dixit &lt;ashutosh.dixit@intel.com&gt;
Signed-off-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 3b1cc9b9622a022208ec95b1259b05bbdf712eb7 upstream.

iovcnt is declared as a signed integer in both the userspace API and
as a local variable in mic_virtio.c. The while() loop in mic_virtio.c
iterates until the local variable iovcnt reaches the value 0. If
userspace passes e.g. INT_MIN as iovcnt field, this loop then appears
to depend on an undefined behavior (signed underflow) to complete.
The fix is to use unsigned integers in both the userspace API and
the local variable.

This issue was reported @ https://lkml.org/lkml/2014/1/10/10

Reported-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Reviewed-by: Ashutosh Dixit &lt;ashutosh.dixit@intel.com&gt;
Signed-off-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: don't unset read cb ptr on reset</title>
<updated>2014-02-22T21:34:53+00:00</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=74d303d4cfb6dc0968239bec556f47a2524a4a6f'/>
<id>74d303d4cfb6dc0968239bec556f47a2524a4a6f</id>
<content type='text'>
commit 5cb906c7035f03a3a44fecece9d3ff8fcc75d6e0 upstream.

Don't set read callback to NULL during reset as
this leads to memory leak of both cb and its buffer.
The memory is correctly freed during mei_release.

The memory leak is detectable by kmemleak if
application has open read call while system is going through
suspend/resume.

unreferenced object 0xecead780 (size 64):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 01 10 00 00 02 20 00 00 bf 30 f1 00 00 00 00  ...... ...0.....
    00 00 00 00 00 00 00 00 36 01 00 00 00 70 da e2  ........6....p..
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131ed56&gt;] kmem_cache_alloc_trace+0xc6/0x190
    [&lt;c16243c9&gt;] mei_io_cb_init+0x29/0x50
    [&lt;c1625722&gt;] mei_cl_read_start+0x102/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff
unreferenced object 0xe2da7000 (size 512):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 6c da e2 7c 00 00 00 00 00 00 00 c0 eb 0c 59  .l..|..........Y
    1b 00 00 00 01 00 00 00 02 10 00 00 01 00 00 00  ................
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131f127&gt;] __kmalloc+0xe7/0x1d0
    [&lt;c162447e&gt;] mei_io_cb_alloc_resp_buf+0x2e/0x60
    [&lt;c162574c&gt;] mei_cl_read_start+0x12c/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 5cb906c7035f03a3a44fecece9d3ff8fcc75d6e0 upstream.

Don't set read callback to NULL during reset as
this leads to memory leak of both cb and its buffer.
The memory is correctly freed during mei_release.

The memory leak is detectable by kmemleak if
application has open read call while system is going through
suspend/resume.

unreferenced object 0xecead780 (size 64):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 01 10 00 00 02 20 00 00 bf 30 f1 00 00 00 00  ...... ...0.....
    00 00 00 00 00 00 00 00 36 01 00 00 00 70 da e2  ........6....p..
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131ed56&gt;] kmem_cache_alloc_trace+0xc6/0x190
    [&lt;c16243c9&gt;] mei_io_cb_init+0x29/0x50
    [&lt;c1625722&gt;] mei_cl_read_start+0x102/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff
unreferenced object 0xe2da7000 (size 512):
  comm "AsyncTask #1", pid 1018, jiffies 4294949621 (age 152.440s)
  hex dump (first 32 bytes):
    00 6c da e2 7c 00 00 00 00 00 00 00 c0 eb 0c 59  .l..|..........Y
    1b 00 00 00 01 00 00 00 02 10 00 00 01 00 00 00  ................
  backtrace:
    [&lt;c1a60aec&gt;] kmemleak_alloc+0x3c/0xa0
    [&lt;c131f127&gt;] __kmalloc+0xe7/0x1d0
    [&lt;c162447e&gt;] mei_io_cb_alloc_resp_buf+0x2e/0x60
    [&lt;c162574c&gt;] mei_cl_read_start+0x12c/0x360
    [&lt;c16268f3&gt;] mei_read+0x103/0x4e0
    [&lt;c1324b09&gt;] vfs_read+0x89/0x160
    [&lt;c1324d5f&gt;] SyS_read+0x4f/0x80
    [&lt;c1a7b318&gt;] syscall_call+0x7/0xb
    [&lt;ffffffff&gt;] 0xffffffff

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: clear write cb from waiting list on reset</title>
<updated>2014-02-22T21:34:52+00:00</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=badb44c0f55d06f049653c9a38d36cbbc07d0684'/>
<id>badb44c0f55d06f049653c9a38d36cbbc07d0684</id>
<content type='text'>
commit 30c54df7cb9b15b222529a028390b9c9582dd65e upstream.

Clear write callbacks sitting in write_waiting list on reset.
Otherwise these callbacks are left dangling and cause memory leak.

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 30c54df7cb9b15b222529a028390b9c9582dd65e upstream.

Clear write callbacks sitting in write_waiting list on reset.
Otherwise these callbacks are left dangling and cause memory leak.

Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: mei_hbm_dispatch() returns void</title>
<updated>2014-02-13T21:55:26+00:00</updated>
<author>
<name>Paul Bolle</name>
<email>pebolle@tiscali.nl</email>
</author>
<published>2014-02-06T21:53:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fec8eb1f57fd37b5b15874819c8dd6bc52124cb5'/>
<id>fec8eb1f57fd37b5b15874819c8dd6bc52124cb5</id>
<content type='text'>
Building hbm.o for v3.13.2 triggers a GCC warning:
    drivers/misc/mei/hbm.c: In function 'mei_hbm_dispatch':
    drivers/misc/mei/hbm.c:596:3: warning: 'return' with a value, in function returning void [enabled by default]
       return 0;
       ^

GCC is correct, obviously. So let's return void instead of zero here.

Signed-off-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Acked-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Building hbm.o for v3.13.2 triggers a GCC warning:
    drivers/misc/mei/hbm.c: In function 'mei_hbm_dispatch':
    drivers/misc/mei/hbm.c:596:3: warning: 'return' with a value, in function returning void [enabled by default]
       return 0;
       ^

GCC is correct, obviously. So let's return void instead of zero here.

Signed-off-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Acked-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>misc: mic: bug fix for interrupt acknowledgement in MSI/INTx case.</title>
<updated>2014-02-06T19:34:01+00:00</updated>
<author>
<name>Dasaratharaman Chandramouli</name>
<email>dasaratharaman.chandramouli@intel.com</email>
</author>
<published>2013-12-10T17:51:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2c457ffeb38442be473836d64d414cba2143a694'/>
<id>2c457ffeb38442be473836d64d414cba2143a694</id>
<content type='text'>
commit df5e4e8b576108f88f79e5b4c984d51d460d2360 upstream.

The interrupt handler (mic_interrupt), called in the MSI/INTx mode,
writes to the interrupt sources register to acknowledge the
interrupt and then calls the corresponding callback handlers to handle
the same. These callback handlers acknowledge the interrupts again
leading to missed interrupts. This patch fixes the issue by removing
the interrupt acknowlegment code from the callback handlers.

Reviewed-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Reviewed-by: Nikhil Rao &lt;nikhil.rao@intel.com&gt;
Reviewed-by: Siva Krishna Kumar Reddy Yerramreddy &lt;siva.krishna.kumar.reddy.yerramreddy@intel.com&gt;
Signed-off-by: Dasaratharaman Chandramouli &lt;dasaratharaman.chandramouli@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit df5e4e8b576108f88f79e5b4c984d51d460d2360 upstream.

The interrupt handler (mic_interrupt), called in the MSI/INTx mode,
writes to the interrupt sources register to acknowledge the
interrupt and then calls the corresponding callback handlers to handle
the same. These callback handlers acknowledge the interrupts again
leading to missed interrupts. This patch fixes the issue by removing
the interrupt acknowlegment code from the callback handlers.

Reviewed-by: Sudeep Dutt &lt;sudeep.dutt@intel.com&gt;
Reviewed-by: Nikhil Rao &lt;nikhil.rao@intel.com&gt;
Reviewed-by: Siva Krishna Kumar Reddy Yerramreddy &lt;siva.krishna.kumar.reddy.yerramreddy@intel.com&gt;
Signed-off-by: Dasaratharaman Chandramouli &lt;dasaratharaman.chandramouli@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mei: use hbm idle state to prevent spurious resets</title>
<updated>2014-02-06T19:33:58+00:00</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2014-01-08T18:19:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b6ece84bf2f402cd07ab076fb6faef6ed0a2c1c5'/>
<id>b6ece84bf2f402cd07ab076fb6faef6ed0a2c1c5</id>
<content type='text'>
commit 66ae460b13c31a176b41550259683c841a62af3e upstream.

When reset is caused by hbm protocol mismatch or timeout
we might end up in an endless reset loop and hbm protocol
will never sync

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 66ae460b13c31a176b41550259683c841a62af3e upstream.

When reset is caused by hbm protocol mismatch or timeout
we might end up in an endless reset loop and hbm protocol
will never sync

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Alexander Usyskin &lt;alexander.usyskin@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'char-misc-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc</title>
<updated>2013-12-09T02:47:25+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-12-09T02:47:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f64001ef16312e94deb28297f5ffd4ada3e32ae9'/>
<id>f64001ef16312e94deb28297f5ffd4ada3e32ae9</id>
<content type='text'>
Pull char/misc driver fixes from Greg KH:
 "Nothing huge, just a few small bugfixes for problems reported, and a
  device id update"

* tag 'char-misc-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  mei: add 9 series PCH mei device ids
  drivers/char/i8k.c: add Dell XPLS L421X
  MAINTAINERS: add HSI subsystem
  misc: mic: Suppress memory space sparse warnings
  misc: mic: Fix endianness issues.
  misc: mic: Fix user space namespace pollution from mic_common.h.
  misc: mic: Bug fix for sysfs poll usage.
  misc: mic: Minor bug fix in 'retry' loops.
  misc: mic: Change mic_notify(...) to return true.
  extcon: remove freed groups caused the panic or warning in unregister flow
  extcon: arizona: Get pdata from arizona structure not device
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull char/misc driver fixes from Greg KH:
 "Nothing huge, just a few small bugfixes for problems reported, and a
  device id update"

* tag 'char-misc-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  mei: add 9 series PCH mei device ids
  drivers/char/i8k.c: add Dell XPLS L421X
  MAINTAINERS: add HSI subsystem
  misc: mic: Suppress memory space sparse warnings
  misc: mic: Fix endianness issues.
  misc: mic: Fix user space namespace pollution from mic_common.h.
  misc: mic: Bug fix for sysfs poll usage.
  misc: mic: Minor bug fix in 'retry' loops.
  misc: mic: Change mic_notify(...) to return true.
  extcon: remove freed groups caused the panic or warning in unregister flow
  extcon: arizona: Get pdata from arizona structure not device
</pre>
</div>
</content>
</entry>
<entry>
<title>mei: add 9 series PCH mei device ids</title>
<updated>2013-12-05T17:48:23+00:00</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2013-12-05T07:34:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=76a9635979e543f04a5885198e68ff28e3311b67'/>
<id>76a9635979e543f04a5885198e68ff28e3311b67</id>
<content type='text'>
And Lynx Point H Refresh and Wildcat Point LP
device ids.

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And Lynx Point H Refresh and Wildcat Point LP
device ids.

Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SCSI] enclosure: fix WARN_ON in dual path device removing</title>
<updated>2013-12-02T19:13:14+00:00</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-11-15T22:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a1470c7bf3a4676e62e4c0fb204e339399eb5c59'/>
<id>a1470c7bf3a4676e62e4c0fb204e339399eb5c59</id>
<content type='text'>
Bug report from: wenxiong@linux.vnet.ibm.com

The issue is happened in dual controller configuration. We got the
sysfs warnings when rmmod the ipr module.

enclosure_unregister() in drivers/msic/enclosure.c, call device_unregister()
for each componment deivce, device_unregister() -&gt;device_del()-&gt;kobject_del()
-&gt;sysfs_remove_dir(). In sysfs_remove_dir(), set kobj-&gt;sd = NULL.

For each componment device,
enclosure_component_release()-&gt;enclosure_remove_links()-&gt;sysfs_remove_link()
in which checking kobj-&gt;sd again, it has been set as NULL when doing
device_unregister. So we saw all these sysfs WARNING.

Tested-by: wenxiong@linux.vnet.ibm.com
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug report from: wenxiong@linux.vnet.ibm.com

The issue is happened in dual controller configuration. We got the
sysfs warnings when rmmod the ipr module.

enclosure_unregister() in drivers/msic/enclosure.c, call device_unregister()
for each componment deivce, device_unregister() -&gt;device_del()-&gt;kobject_del()
-&gt;sysfs_remove_dir(). In sysfs_remove_dir(), set kobj-&gt;sd = NULL.

For each componment device,
enclosure_component_release()-&gt;enclosure_remove_links()-&gt;sysfs_remove_link()
in which checking kobj-&gt;sd again, it has been set as NULL when doing
device_unregister. So we saw all these sysfs WARNING.

Tested-by: wenxiong@linux.vnet.ibm.com
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
