<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v3.10.36</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v3.10.36</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v3.10.36'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-04-03T19:01:05Z</updated>
<entry>
<title>mm: close PageTail race</title>
<updated>2014-04-03T19:01:05Z</updated>
<author>
<name>David Rientjes</name>
<email>rientjes@google.com</email>
</author>
<published>2014-03-03T23:38:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=def52acc90faab583b124f3177d55c15d125e2d1'/>
<id>urn:sha1:def52acc90faab583b124f3177d55c15d125e2d1</id>
<content type='text'>
commit 668f9abbd4334e6c29fa8acd71635c4f9101caa7 upstream.

Commit bf6bddf1924e ("mm: introduce compaction and migration for
ballooned pages") introduces page_count(page) into memory compaction
which dereferences page-&gt;first_page if PageTail(page).

This results in a very rare NULL pointer dereference on the
aforementioned page_count(page).  Indeed, anything that does
compound_head(), including page_count() is susceptible to racing with
prep_compound_page() and seeing a NULL or dangling page-&gt;first_page
pointer.

This patch uses Andrea's implementation of compound_trans_head() that
deals with such a race and makes it the default compound_head()
implementation.  This includes a read memory barrier that ensures that
if PageTail(head) is true that we return a head page that is neither
NULL nor dangling.  The patch then adds a store memory barrier to
prep_compound_page() to ensure page-&gt;first_page is set.

This is the safest way to ensure we see the head page that we are
expecting, PageTail(page) is already in the unlikely() path and the
memory barriers are unfortunately required.

Hugetlbfs is the exception, we don't enforce a store memory barrier
during init since no race is possible.

Signed-off-by: David Rientjes &lt;rientjes@google.com&gt;
Cc: Holger Kiehl &lt;Holger.Kiehl@dwd.de&gt;
Cc: Christoph Lameter &lt;cl@linux.com&gt;
Cc: Rafael Aquini &lt;aquini@redhat.com&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.cz&gt;
Cc: Michal Hocko &lt;mhocko@suse.cz&gt;
Cc: Mel Gorman &lt;mgorman@suse.de&gt;
Cc: Andrea Arcangeli &lt;aarcange@redhat.com&gt;
Cc: Rik van Riel &lt;riel@redhat.com&gt;
Cc: "Kirill A. Shutemov" &lt;kirill.shutemov@linux.intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;



</content>
</entry>
<entry>
<title>net: mvneta: rename MVNETA_GMAC2_PSC_ENABLE to MVNETA_GMAC2_PCS_ENABLE</title>
<updated>2014-04-03T19:01:05Z</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2014-03-25T23:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d113edc6c7027a8290ddfb2f0c5ab8291a582945'/>
<id>urn:sha1:d113edc6c7027a8290ddfb2f0c5ab8291a582945</id>
<content type='text'>
commit a79121d3b57e7ad61f0b5d23eae05214054f3ccd upstream.

Bit 3 of the MVNETA_GMAC_CTRL_2 is actually used to enable the PCS,
not the PSC: there was a typo in the name of the define, which this
commit fixes.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: cypress_ps2 - don't report as a button pads</title>
<updated>2014-04-03T19:01:04Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2014-03-26T20:30:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=36e6781e914b1232ba0bd0ca8ae718941cb2fa8f'/>
<id>urn:sha1:36e6781e914b1232ba0bd0ca8ae718941cb2fa8f</id>
<content type='text'>
commit 6797b39e6f6f34c74177736e146406e894b9482b upstream.

The cypress PS/2 trackpad models supported by the cypress_ps2 driver
emulate BTN_RIGHT events in firmware based on the finger position, as part
of this no motion events are sent when the finger is in the button area.

The INPUT_PROP_BUTTONPAD property is there to indicate to userspace that
BTN_RIGHT events should be emulated in userspace, which is not necessary
in this case.

When INPUT_PROP_BUTTONPAD is advertised userspace will wait for a motion
event before propagating the button event higher up the stack, as it needs
current abs x + y data for its BTN_RIGHT emulation. Since in the
cypress_ps2 pads don't report motion events in the button area, this means
that clicks in the button area end up being ignored, so
INPUT_PROP_BUTTONPAD actually causes problems for these touchpads, and
removing it fixes:

https://bugs.freedesktop.org/show_bug.cgi?id=76341

Reported-by: Adam Williamson &lt;awilliam@redhat.com&gt;
Tested-by: Adam Williamson &lt;awilliam@redhat.com&gt;
Reviewed-by: Peter Hutterer &lt;peter.hutterer@who-t.net&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: synaptics - add manual min/max quirk for ThinkPad X240</title>
<updated>2014-04-03T19:01:04Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2014-03-28T08:01:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cbcc4cb6cc8fe13959a52db4427c1ccc01655d4e'/>
<id>urn:sha1:cbcc4cb6cc8fe13959a52db4427c1ccc01655d4e</id>
<content type='text'>
commit 8a0435d958fb36d93b8df610124a0e91e5675c82 upstream.

This extends Benjamin Tissoires manual min/max quirk table with support for
the ThinkPad X240.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: synaptics - add manual min/max quirk</title>
<updated>2014-04-03T19:01:04Z</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2014-03-28T07:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=586c76514fd25905e4a8ae1547b0abbc5b723b42'/>
<id>urn:sha1:586c76514fd25905e4a8ae1547b0abbc5b723b42</id>
<content type='text'>
commit 421e08c41fda1f0c2ff6af81a67b491389b653a5 upstream.

The new Lenovo Haswell series (-40's) contains a new Synaptics touchpad.
However, these new Synaptics devices report bad axis ranges.
Under Windows, it is not a problem because the Windows driver uses RMI4
over SMBus to talk to the device. Under Linux, we are using the PS/2
fallback interface and it occurs the reported ranges are wrong.

Of course, it would be too easy to have only one range for the whole
series, each touchpad seems to be calibrated in a different way.

We can not use SMBus to get the actual range because I suspect the firmware
will switch into the SMBus mode and stop talking through PS/2 (this is the
case for hybrid HID over I2C / PS/2 Synaptics touchpads).

So as a temporary solution (until RMI4 land into upstream), start a new
list of quirks with the min/max manually set.

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: mousedev - fix race when creating mixed device</title>
<updated>2014-04-03T19:01:04Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2014-03-06T20:57:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=26b4b569fda35284ed402419e45e1e897a7f467d'/>
<id>urn:sha1:26b4b569fda35284ed402419e45e1e897a7f467d</id>
<content type='text'>
commit e4dbedc7eac7da9db363a36f2bd4366962eeefcc upstream.

We should not be using static variable mousedev_mix in methods that can be
called before that singleton gets assigned. While at it let's add open and
close methods to mousedev structure so that we do not need to test if we
are dealing with multiplexor or normal device and simply call appropriate
method directly.

This fixes: https://bugzilla.kernel.org/show_bug.cgi?id=71551

Reported-by: GiulioDP &lt;depasquale.giulio@gmail.com&gt;
Tested-by: GiulioDP &lt;depasquale.giulio@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>e100: Fix "disabling already-disabled device" warning</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Michele Baldessari</name>
<email>michele@acksyn.org</email>
</author>
<published>2014-01-30T10:51:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80ae5669330883e8bcf378a2ae6ef5f30326e809'/>
<id>urn:sha1:80ae5669330883e8bcf378a2ae6ef5f30326e809</id>
<content type='text'>
commit 2b6e0ca175fe4a20f21ba82b1e7ccc71029c4dd4 upstream.

In https://bugzilla.redhat.com/show_bug.cgi?id=994438 and
https://bugzilla.redhat.com/show_bug.cgi?id=970480  we
received different reports of e100 throwing the following
warning:

 [&lt;c06a0ba5&gt;] ? pci_disable_device+0x85/0x90
 [&lt;c044a153&gt;] warn_slowpath_fmt+0x33/0x40
 [&lt;c06a0ba5&gt;] pci_disable_device+0x85/0x90
 [&lt;f7fdf7e0&gt;] __e100_shutdown+0x80/0x120 [e100]
 [&lt;c0476ca5&gt;] ? check_preempt_curr+0x65/0x90
 [&lt;f7fdf8d6&gt;] e100_suspend+0x16/0x30 [e100]
 [&lt;c06a1ebb&gt;] pci_legacy_suspend+0x2b/0xb0
 [&lt;c098fc0f&gt;] ? wait_for_completion+0x1f/0xd0
 [&lt;c06a2d50&gt;] ? pci_pm_poweroff+0xb0/0xb0
 [&lt;c06a2de4&gt;] pci_pm_freeze+0x94/0xa0
 [&lt;c0767bb7&gt;] dpm_run_callback+0x37/0x80
 [&lt;c076a204&gt;] ? pm_wakeup_pending+0xc4/0x140
 [&lt;c0767f12&gt;] __device_suspend+0xb2/0x1f0
 [&lt;c076806f&gt;] async_suspend+0x1f/0x90
 [&lt;c04706e5&gt;] async_run_entry_fn+0x35/0x140
 [&lt;c0478aef&gt;] ? wake_up_process+0x1f/0x40
 [&lt;c0464495&gt;] process_one_work+0x115/0x370
 [&lt;c0462645&gt;] ? start_worker+0x25/0x30
 [&lt;c0464dc5&gt;] ? manage_workers.isra.27+0x1a5/0x250
 [&lt;c0464f6e&gt;] worker_thread+0xfe/0x330
 [&lt;c0464e70&gt;] ? manage_workers.isra.27+0x250/0x250
 [&lt;c046a224&gt;] kthread+0x94/0xa0
 [&lt;c0997f37&gt;] ret_from_kernel_thread+0x1b/0x28
 [&lt;c046a190&gt;] ? insert_kthread_work+0x30/0x30

This patch removes pci_disable_device() from __e100_shutdown().
pci_clear_master() is enough.

Signed-off-by: Michele Baldessari &lt;michele@acksyn.org&gt;
Tested-by: Mark Harig &lt;idirectscm@aim.com&gt;
Signed-off-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>xhci: Fix resume issues on Renesas chips in Samsung laptops</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2014-01-17T23:38:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d04ff9c036a8481b8a1534b8b4b65757f3bfa53e'/>
<id>urn:sha1:d04ff9c036a8481b8a1534b8b4b65757f3bfa53e</id>
<content type='text'>
commit 1aa9578c1a9450fb21501c4f549f5b1edb557e6d upstream.

Don Zickus &lt;dzickus@redhat.com&gt; writes:

Some co-workers of mine bought Samsung laptops that had mostly usb3 ports.
Those ports did not resume correctly (the driver would timeout communicating
and fail).  This led to frustration as suspend/resume is a common use for
laptops.

Poking around, I applied the reset on resume quirk to this chipset and the
resume started working.  Reloading the xhci_hcd module had been the temporary
workaround.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Reported-by: Don Zickus &lt;dzickus@redhat.com&gt;
Tested-by: Prarit Bhargava &lt;prarit@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: wacom - make sure touch_max is set for touch devices</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Ping Cheng</name>
<email>pinglinux@gmail.com</email>
</author>
<published>2013-11-26T02:43:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c16d2409ed27ae4fabcf608e48725e1618e76064'/>
<id>urn:sha1:c16d2409ed27ae4fabcf608e48725e1618e76064</id>
<content type='text'>
commit 1d0d6df02750b4a6f466768cbfbf860e24f4c8d4 upstream.

Old single touch Tablet PCs do not have touch_max set at
wacom_features. Since touch device at lease supports one
finger, assign touch_max to 1 when touch usage is defined
in its HID Descriptor and touch_max is not pre-defined.

Tested-by: Jason Gerecke &lt;killertofu@gmail.com&gt;
Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Reviewed-by: Chris Bagwell &lt;chris@cnpbagwell.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Input: elantech - improve clickpad detection</title>
<updated>2014-03-31T16:58:14Z</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2013-12-16T15:09:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dc48b3deaebfbd6c508d258a40d417a38fa0299d'/>
<id>urn:sha1:dc48b3deaebfbd6c508d258a40d417a38fa0299d</id>
<content type='text'>
commit c15bdfd5b9831e4cab8cfc118243956e267dd30e upstream.

The current assumption in the elantech driver that hw version 3 touchpads
are never clickpads and hw version 4 touchpads are always clickpads is
wrong.

There are several bug reports for this, ie:
https://bugzilla.redhat.com/show_bug.cgi?id=1030802
http://superuser.com/questions/619582/right-elantech-touchpad-button-not-working-in-linux

I've spend a couple of hours wading through various bugzillas, launchpads
and forum posts to create a list of fw-versions and capabilities for
different laptop models to find a good method to differentiate between
clickpads and versions with separate hardware buttons.

Which shows that a device being a clickpad is reliable indicated by bit 12
being set in the fw_version. I've included the gathered list inside the
driver, so that we've this info at hand if we need to revisit this later.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Cc: Josh Boyer &lt;jwboyer@fedoraproject.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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