<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v3.4.87</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v3.4.87</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v3.4.87'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-04-14T13:45:17Z</updated>
<entry>
<title>Linux 3.4.87</title>
<updated>2014-04-14T13:45:17Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-04-14T13:45:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9660cc51f80ab16b415b311f5f0ee8cdea496a7c'/>
<id>urn:sha1:9660cc51f80ab16b415b311f5f0ee8cdea496a7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>powernow-k6: reorder frequencies</title>
<updated>2014-04-14T13:44:34Z</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2013-12-12T00:39:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1436b3314b5582b5d370d276afacdfed9b8fbe99'/>
<id>urn:sha1:1436b3314b5582b5d370d276afacdfed9b8fbe99</id>
<content type='text'>
commit 22c73795b101597051924556dce019385a1e2fa0 upstream.

This patch reorders reported frequencies from the highest to the lowest,
just like in other frequency drivers.

Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>powernow-k6: correctly initialize default parameters</title>
<updated>2014-04-14T13:44:34Z</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2013-12-12T00:38:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1acb634a8af5443c41141a02d710baa91d8ec82d'/>
<id>urn:sha1:1acb634a8af5443c41141a02d710baa91d8ec82d</id>
<content type='text'>
commit d82b922a4acc1781d368aceac2f9da43b038cab2 upstream.

The powernow-k6 driver used to read the initial multiplier from the
powernow register. However, there is a problem with this:

* If there was a frequency transition before, the multiplier read from the
  register corresponds to the current multiplier.
* If there was no frequency transition since reset, the field in the
  register always reads as zero, regardless of the current multiplier that
  is set using switches on the mainboard and that the CPU is running at.

The zero value corresponds to multiplier 4.5, so as a consequence, the
powernow-k6 driver always assumes multiplier 4.5.

For example, if we have 550MHz CPU with bus frequency 100MHz and
multiplier 5.5, the powernow-k6 driver thinks that the multiplier is 4.5
and bus frequency is 122MHz. The powernow-k6 driver then sets the
multiplier to 4.5, underclocking the CPU to 450MHz, but reports the
current frequency as 550MHz.

There is no reliable way how to read the initial multiplier. I modified
the driver so that it contains a table of known frequencies (based on
parameters of existing CPUs and some common overclocking schemes) and sets
the multiplier according to the frequency. If the frequency is unknown
(because of unusual overclocking or underclocking), the user must supply
the bus speed and maximum multiplier as module parameters.

This patch should be backported to all stable kernels. If it doesn't
apply cleanly, change it, or ask me to change it.

Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>powernow-k6: disable cache when changing frequency</title>
<updated>2014-04-14T13:44:34Z</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2013-12-12T00:38:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cccd0fd759fa4e1306173f5740cc4ba8566e1d65'/>
<id>urn:sha1:cccd0fd759fa4e1306173f5740cc4ba8566e1d65</id>
<content type='text'>
commit e20e1d0ac02308e2211306fc67abcd0b2668fb8b upstream.

I found out that a system with k6-3+ processor is unstable during network
server load. The system locks up or the network card stops receiving. The
reason for the instability is the CPU frequency scaling.

During frequency transition the processor is in "EPM Stop Grant" state.
The documentation says that the processor doesn't respond to inquiry
requests in this state. Consequently, coherency of processor caches and
bus master devices is not maintained, causing the system instability.

This patch flushes the cache during frequency transition. It fixes the
instability.

Other minor changes:
* u64 invalue changed to unsigned long because the variable is 32-bit
* move the logic to set the multiplier to a separate function
  powernow_k6_set_cpu_multiplier
* preserve lower 5 bits of the powernow port instead of 4 (the voltage
  field has 5 bits)
* mask interrupts when reading the multiplier, so that the port is not
  open during other activity (running other kernel code with the port open
  shouldn't cause any misbehavior, but we should better be safe and keep
  the port closed)

This patch should be backported to all stable kernels. If it doesn't
apply cleanly, change it, or ask me to change it.

Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: saa7164: fix return value check in saa7164_initdev()</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Wei Yongjun</name>
<email>yongjun_wei@trendmicro.com.cn</email>
</author>
<published>2013-10-25T09:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c34cad873ff38096f8710ab318b486d4e40d4293'/>
<id>urn:sha1:c34cad873ff38096f8710ab318b486d4e40d4293</id>
<content type='text'>
commit 89f4d45b2752df5d222b5f63919ce59e2d8afaf4 upstream.

In case of error, the function kthread_run() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun &lt;yongjun_wei@trendmicro.com.cn&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: hdpvr: fix iteration over uninitialized lists in hdpvr_probe()</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Alexey Khoroshilov</name>
<email>khoroshilov@ispras.ru</email>
</author>
<published>2013-07-03T19:17:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=96ca9726343c0166dbdbe85c0d80a95c44a0c90a'/>
<id>urn:sha1:96ca9726343c0166dbdbe85c0d80a95c44a0c90a</id>
<content type='text'>
commit 2e923a0527ac439e135b9961e58d3acd876bba10 upstream.

free_buff_list and rec_buff_list are initialized in the middle of hdpvr_probe(),
but if something bad happens before that, error handling code calls hdpvr_delete(),
which contains iteration over the lists (via hdpvr_free_buffers()).
The patch moves the lists initialization to the beginning and by the way fixes
goto label in error handling of registering videodev.
Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: hdpvr: register the video node at the end of probe</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Hans Verkuil</name>
<email>hans.verkuil@cisco.com</email>
</author>
<published>2013-03-19T12:34:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=092bc21ef043d7fb4515f54ccbd17d98a20e76fb'/>
<id>urn:sha1:092bc21ef043d7fb4515f54ccbd17d98a20e76fb</id>
<content type='text'>
commit 280847b532433ffe7a22795f926327805a127162 upstream.

Video nodes can be used at once after registration, so make sure the full
initialization is done before registering them.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
[bwh: Backported to 3.2: adjust filename, context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: dmxdev: remove dvb_ringbuffer_flush() on writer side</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Soeren Moch</name>
<email>smoch@web.de</email>
</author>
<published>2013-06-06T00:26:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9ef2f22482a5a89c8ddac55c79d81b26292e59bf'/>
<id>urn:sha1:9ef2f22482a5a89c8ddac55c79d81b26292e59bf</id>
<content type='text'>
commit 414abbd2cd4c2618895f02ed3a76ec6647281436 upstream.

In dvb_ringbuffer lock-less synchronizationof reader and writer threads is done
with separateread and write pointers. Sincedvb_ringbuffer_flush() modifies the
read pointer, this function must not be called from the writer thread.
This patch removes the dvb_ringbuffer_flush() calls in the dmxdev ringbuffer
write functions, this fixes Oopses "Unable to handle kernel paging request"
I could observe for the call chaindvb_demux_read -&gt;dvb_dmxdev_buffer_read -&gt;
dvb_ringbuffer_read_user -&gt; __copy_to_user (the reader side of the ringbuffer).
The flush calls at the write side are not necessary anyway since ringbuffer_flush
is also called in dvb_dmxdev_buffer_read() when an error condition is set in the
ringbuffer.
This patch should also be applied to stable kernels.

Signed-off-by: Soeren Moch &lt;smoch@web.de&gt;
Reviewed-by: Sakari Ailus &lt;sakari.ailus@iki.fi&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: omap_vout: find_vma() needs -&gt;mmap_sem held</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Al Viro</name>
<email>viro@ZenIV.linux.org.uk</email>
</author>
<published>2012-12-16T19:04:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=915b4b0510b5f483fd46db9154c8dc1ee9e38ddf'/>
<id>urn:sha1:915b4b0510b5f483fd46db9154c8dc1ee9e38ddf</id>
<content type='text'>
commit 55ee64b30a38d688232e5eb2860467dddc493573 upstream.

Walking rbtree while it's modified is a Bad Idea(tm); besides,
the result of find_vma() can be freed just as it's getting returned
to caller.  Fortunately, it's easy to fix - just take -&gt;mmap_sem a bit
earlier (and don't bother with find_vma() at all if virtp &gt;= PAGE_OFFSET -
in that case we don't even look at its result).

While we are at it, what prevents VIDIOC_PREPARE_BUF calling
v4l_prepare_buf() -&gt; (e.g) vb2_ioctl_prepare_buf() -&gt; vb2_prepare_buf() -&gt;
__buf_prepare() -&gt; __qbuf_userptr() -&gt; vb2_vmalloc_get_userptr() -&gt; find_vma(),
AFAICS without having taken -&gt;mmap_sem anywhere in process?  The code flow
is bloody convoluted and depends on a bunch of things done by initialization,
so I certainly might've missed something...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Sakari Ailus &lt;sakari.ailus@iki.fi&gt;
Cc: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Cc: Archit Taneja &lt;archit@ti.com&gt;
Cc: Prabhakar Lad &lt;prabhakar.lad@ti.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>media: v4l: Reset subdev v4l2_dev field to NULL if registration fails</title>
<updated>2014-04-14T13:44:33Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2012-11-25T00:35:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac871a8a93556bb96e6d11931c4568f60546c50f'/>
<id>urn:sha1:ac871a8a93556bb96e6d11931c4568f60546c50f</id>
<content type='text'>
commit 317efce991620adc589b3005b9baed433dcb2a56 upstream.

When subdev registration fails the subdev v4l2_dev field is left to a
non-NULL value. Later calls to v4l2_device_unregister_subdev() will
consider the subdev as registered and will module_put() the subdev
module without any matching module_get().
Fix this by setting the subdev v4l2_dev field to NULL in
v4l2_device_register_subdev() when the function fails.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Acked-by: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
[bwh: Backported to 3.2: adjust context, filename]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Jianguo Wu &lt;wujianguo@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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