<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/misc, branch v3.10.35</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/misc?h=v3.10.35</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/misc?h=v3.10.35'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-03-07T05:30:10Z</updated>
<entry>
<title>mei: set client's read_cb to NULL when flow control fails</title>
<updated>2014-03-07T05:30:10Z</updated>
<author>
<name>Chao Bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2014-02-12T19:27:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2bc744aa8bb9eaff8facd237c359cf64bf6ec239'/>
<id>urn:sha1:2bc744aa8bb9eaff8facd237c359cf64bf6ec239</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>
</entry>
<entry>
<title>mei: don't unset read cb ptr on reset</title>
<updated>2014-02-22T20:41:28Z</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=24a509100434799c6ba7d92e9cc37c5ba53fafaf'/>
<id>urn:sha1:24a509100434799c6ba7d92e9cc37c5ba53fafaf</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>
</entry>
<entry>
<title>mei: clear write cb from waiting list on reset</title>
<updated>2014-02-22T20:41:28Z</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2014-01-27T20:27:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85153361d846360f4e94e187a04913ad063348a2'/>
<id>urn:sha1:85153361d846360f4e94e187a04913ad063348a2</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>
</entry>
<entry>
<title>mei: add 9 series PCH mei device ids</title>
<updated>2013-12-12T06:36:28Z</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2013-12-05T07:34:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8532c80b3ec3acf3cc22df033464980bae20b380'/>
<id>urn:sha1:8532c80b3ec3acf3cc22df033464980bae20b380</id>
<content type='text'>
commit 76a9635979e543f04a5885198e68ff28e3311b67 upstream.

And Lynx Point H Refresh and Wildcat Point LP
device ids.

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

</content>
</entry>
<entry>
<title>mei: me: add Lynx Point Wellsburg work station device id</title>
<updated>2013-12-12T06:36:28Z</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2013-10-16T09:09:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e35ea1b11ca399be7631410fabb65228502fcb5e'/>
<id>urn:sha1:e35ea1b11ca399be7631410fabb65228502fcb5e</id>
<content type='text'>
commit 838b3a6d62413b336f3dde15ecff161070358957 upstream.

add missing device id for LPT based work station

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

</content>
</entry>
<entry>
<title>SCSI: enclosure: fix WARN_ON in dual path device removing</title>
<updated>2013-12-12T06:36:27Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-11-15T22:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e891b8e307009b44fa1e70a49a59e8db6cbe12fa'/>
<id>urn:sha1:e891b8e307009b44fa1e70a49a59e8db6cbe12fa</id>
<content type='text'>
commit a1470c7bf3a4676e62e4c0fb204e339399eb5c59 upstream.

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
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mei: nfc: fix memory leak in error path</title>
<updated>2013-11-29T19:11:52Z</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2013-10-21T19:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd7e08189efba225bfa173372b05682ac141af88'/>
<id>urn:sha1:bd7e08189efba225bfa173372b05682ac141af88</id>
<content type='text'>
commit 4bff7208f332b2b1d7cf1338e50527441283a198 upstream.

The flow may reach the err label without freeing cl and cl_info

cl and cl_info weren't assigned to ndev-&gt;cl and cl_info
so they weren't freed in mei_nfc_free called on error path

Cc: Samuel Ortiz &lt;sameo@linux.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>
</entry>
<entry>
<title>misc: atmel_pwm: add deferred-probing support</title>
<updated>2013-11-20T20:27:47Z</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2013-10-22T16:32:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ccd24ec4c98c1aa76e73d4fa80bf8146b5e62175'/>
<id>urn:sha1:ccd24ec4c98c1aa76e73d4fa80bf8146b5e62175</id>
<content type='text'>
commit 5c6d6fd1564138ad048564e48639f842714a90c6 upstream.

Two drivers (atmel-pwm-bl and leds-atmel-pwm) currently depend on the
atmel_pwm driver to have bound to any pwm-device before their devices
are probed.

Support deferred probing of such devices by making sure to return
-EPROBE_DEFER from pwm_channel_alloc when no pwm-device has yet been
bound.

Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mei: cancel stall timers in mei_reset</title>
<updated>2013-10-05T14:13:10Z</updated>
<author>
<name>Alexander Usyskin</name>
<email>alexander.usyskin@intel.com</email>
</author>
<published>2013-09-02T10:29:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=51d4e0771c3c69bb021d3052433e49effa6e4f65'/>
<id>urn:sha1:51d4e0771c3c69bb021d3052433e49effa6e4f65</id>
<content type='text'>
commit 4a704575cc1afb3b848f096778fa9b8d7b3d5813 upstream.

Unset init_clients_timer and amthif_stall_timers
in mei_reset in order to cancel timer ticking and hence
avoid recursive reset calls.

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>
</entry>
<entry>
<title>mei: bus: stop wait for read during cl state transition</title>
<updated>2013-10-05T14:13:10Z</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2013-09-02T10:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=18f48d9e784339c954eb1641fef600e00c7a53c0'/>
<id>urn:sha1:18f48d9e784339c954eb1641fef600e00c7a53c0</id>
<content type='text'>
commit e2b31644e999e8bfe3efce880fb32840299abf41 upstream.

Bus layer omitted check for client state transition while waiting
for read completion
The client state transition may occur for example as result
of firmware initiated reset

Add mei_cl_is_transitioning wrapper to reduce the code
repetition.:

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

</content>
</entry>
</feed>
