<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v3.4.12</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v3.4.12</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v3.4.12'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-02T17:35:08Z</updated>
<entry>
<title>Linux 3.4.12</title>
<updated>2012-10-02T17:35:08Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-10-02T17:35:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1c7eb28096b50831697a9cf6f8bf1af0e5b234bc'/>
<id>urn:sha1:1c7eb28096b50831697a9cf6f8bf1af0e5b234bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+</title>
<updated>2012-10-02T17:30:49Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-07-13T18:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9effb1b2599c3ae0be3c5bf3f6187667fe2a6e70'/>
<id>urn:sha1:9effb1b2599c3ae0be3c5bf3f6187667fe2a6e70</id>
<content type='text'>
commit a76d7bd96d65fa5119adba97e1b58d95f2e78829 upstream.

The open-coded mutex implementation for ARMv6+ cores suffers from a
severe lack of barriers, so in the uncontended case we don't actually
protect any accesses performed during the critical section.

Furthermore, the code is largely a duplication of the ARMv6+ atomic_dec
code but optimised to remove a branch instruction, as the mutex fastpath
was previously inlined. Now that this is executed out-of-line, we can
reuse the atomic access code for the locking (in fact, we use the xchg
code as this produces shorter critical sections).

This patch uses the generic xchg based implementation for mutexes on
ARMv6+, which introduces barriers to the lock/unlock operations and also
has the benefit of removing a fair amount of inline assembly code.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Reported-by: Shan Kang &lt;kangshan0910@gmail.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert: drm/i915: correctly order the ring init sequence</title>
<updated>2012-10-02T17:30:49Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-09-28T16:06:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=446d14d4c51010379f7f12f3616773e7e7fb47d9'/>
<id>urn:sha1:446d14d4c51010379f7f12f3616773e7e7fb47d9</id>
<content type='text'>
This reverts commit 57ecc93ce680b1ace1f9e79d588dabe32353202c which
really is commit 0d8957c8a90bbb5d34fab9a304459448a5131e06 upstream as it
has been reported to cause problems in the 3.4.y kernel series.

Reported-by: Herton Ronaldo Krzesinski &lt;herton.krzesinski@canonical.com&gt;
Cc: Andreas Sturmlechner &lt;andreas.sturmlechner@gmail.com&gt;
Cc: Jani Nikula &lt;jani.nikula@intel.com&gt;
Cc: Yang Guang &lt;guang.a.yang@intel.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>vmwgfx: corruption in vmw_event_fence_action_create()</title>
<updated>2012-10-02T17:30:49Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2012-09-23T16:33:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9a266f619f8b9994b0c2bd9bb79605ddfa4ac32a'/>
<id>urn:sha1:9a266f619f8b9994b0c2bd9bb79605ddfa4ac32a</id>
<content type='text'>
commit 68c4fce737c4b963e336435f225621dc21138397 upstream.

We don't allocate enough data for this struct.  As soon as we start
modifying event-&gt;event on the next lines, then we're going beyond the
end of the memory we allocated.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: fall back to bit-banging if GMBUS fails in CRT EDID reads</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani.nikula@intel.com</email>
</author>
<published>2012-08-13T10:22:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=03c4c80ee30ae2c965cd838dd0f21c97a877366d'/>
<id>urn:sha1:03c4c80ee30ae2c965cd838dd0f21c97a877366d</id>
<content type='text'>
commit f1a2f5b7c5f0941d23eef0a095c0b99bf8d051e6 upstream.

GMBUS was enabled over bit-banging as the default in commits:

commit c3dfefa0a6d235bd465309e12f4c56ea16e71111
Author: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Date:   Tue Feb 14 22:37:25 2012 +0100

    drm/i915: reenable gmbus on gen3+ again

and

commit 0fb3f969c8683505fb7323c06bf8a999a5a45a15
Author: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Date:   Fri Mar 2 19:38:30 2012 +0100

    drm/i915: enable gmbus on gen2

Unfortunately, GMBUS seems to fail on some CRT displays. Add a bit-banging
fallback to CRT EDID reads.

LKML-Reference: &lt;201207251020.47637.maciej.rutecki@gmail.com&gt;
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45881
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Tested-by: Alex Ferrando &lt;alferpal@gmail.com&gt;
Cc: stable@vger.kernel.org (for 3.4+3.5)
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>drm/udl: limit modes to the sku pixel limits.</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2012-09-25T06:17:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd1d3d8331af11cc1abf5e907a9a963037530281'/>
<id>urn:sha1:bd1d3d8331af11cc1abf5e907a9a963037530281</id>
<content type='text'>
commit 3a75885848996baab5276ff37ebf7295c3c753f0 upstream.

Otherwise when X starts we commonly get a black screen scanning
out nothing, its wierd dpms on/off from userspace brings it back,

With this on F18, multi-seat works again with my 1920x1200 monitor
which is above the sku limit for the device I have.

Reviewed-by: Alex Deucher &lt;alexander.deucher@gmail.com&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>gpio-lpc32xx: Fix value handling of gpio_direction_output()</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Roland Stigge</name>
<email>stigge@antcom.de</email>
</author>
<published>2012-09-20T08:48:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=66801463734e49416a9b013d3eb8f9eb8cd851e0'/>
<id>urn:sha1:66801463734e49416a9b013d3eb8f9eb8cd851e0</id>
<content type='text'>
commit b1268d3737c6316016026245eef276eda6b0a621 upstream.

For GPIOs of gpio-lpc32xx, gpio_direction_output() ignores the value argument
(initial value of output). This patch fixes this by setting the level
accordingly.

Signed-off-by: Roland Stigge &lt;stigge@antcom.de&gt;
Acked-by: Alexandre Pereira da Silva &lt;aletes.xgr@gmail.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ASoC: wm2000: Correct register size</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2012-09-26T10:57:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d20ff72cdeb4cbb586a1ee1a3f4f1bbade52414a'/>
<id>urn:sha1:d20ff72cdeb4cbb586a1ee1a3f4f1bbade52414a</id>
<content type='text'>
commit d0e12f3ff3472cbd8f52d3c0e6ee07a841787c40 upstream.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: Fix race condition when removing host controllers</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2012-09-26T17:09:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1437cb571cacaf18ce2da7dd8c858fac57806d37'/>
<id>urn:sha1:1437cb571cacaf18ce2da7dd8c858fac57806d37</id>
<content type='text'>
commit 0d00dc2611abbe6ad244d50569c2ee82ce42846c upstream.

This patch (as1607) fixes a race that can occur if a USB host
controller is removed while a process is reading the
/sys/kernel/debug/usb/devices file.

The usb_device_read() routine uses the bus-&gt;root_hub pointer to
determine whether or not the root hub is registered.  The is not a
valid test, because the pointer is set before the root hub gets
registered and remains set even after the root hub is unregistered and
deallocated.  As a result, usb_device_read() or usb_device_dump() can
access freed memory, causing an oops.

The patch changes the test to use the hcd-&gt;rh_registered flag, which
does get set and cleared at the appropriate times.  It also makes sure
to hold the usb_bus_list_lock mutex while setting the flag, so that
usb_device_read() will become aware of new root hubs as soon as they
are registered.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-by: Don Zickus &lt;dzickus@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq</title>
<updated>2012-10-02T17:30:48Z</updated>
<author>
<name>Joachim Eastwood</name>
<email>manabian@gmail.com</email>
</author>
<published>2012-09-23T20:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0f36cbb3364497fce45f40f295847f2de7cceeb7'/>
<id>urn:sha1:0f36cbb3364497fce45f40f295847f2de7cceeb7</id>
<content type='text'>
commit 01bb6501779ed0b6dc6c55be34b49eaa6306fdd8 upstream.

Fixes the following NULL pointer dereference:
[    7.740000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.810000] Unable to handle kernel NULL pointer dereference at virtual address 00000028
[    7.810000] pgd = c3a38000
[    7.810000] [00000028] *pgd=23a8c831, *pte=00000000, *ppte=00000000
[    7.810000] Internal error: Oops: 17 [#1] PREEMPT ARM
[    7.810000] Modules linked in: ohci_hcd(+) regmap_i2c snd_pcm usbcore snd_page_alloc at91_cf snd_timer pcmcia_rsrc snd soundcore gpio_keys regmap_spi pcmcia_core usb_common nls_base
[    7.810000] CPU: 0    Not tainted  (3.6.0-rc6-mpa+ #264)
[    7.810000] PC is at __gpio_to_irq+0x18/0x40
[    7.810000] LR is at ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd]
[    7.810000] pc : [&lt;c01392d4&gt;]    lr : [&lt;bf08f694&gt;]    psr: 40000093
[    7.810000] sp : c3a11c40  ip : c3a11c50  fp : c3a11c4c
[    7.810000] r10: 00000000  r9 : c02dcd6e  r8 : fefff400
[    7.810000] r7 : 00000000  r6 : c02cc928  r5 : 00000030  r4 : c02dd168
[    7.810000] r3 : c02e7350  r2 : ffffffea  r1 : c02cc928  r0 : 00000000
[    7.810000] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
[    7.810000] Control: c000717f  Table: 23a38000  DAC: 00000015
[    7.810000] Process modprobe (pid: 285, stack limit = 0xc3a10270)
[    7.810000] Stack: (0xc3a11c40 to 0xc3a12000)
[    7.810000] 1c40: c3a11c6c c3a11c50 bf08f694 c01392cc c3a11c84 c2c38b00 c3806900 00000030
[    7.810000] 1c60: c3a11ca4 c3a11c70 c0051264 bf08f680 c3a11cac c3a11c80 c003e764 c3806900
[    7.810000] 1c80: c2c38b00 c02cb05c c02cb000 fefff400 c3806930 c3a11cf4 c3a11cbc c3a11ca8
[    7.810000] 1ca0: c005142c c005123c c3806900 c3805a00 c3a11cd4 c3a11cc0 c0053f24 c00513e4
[    7.810000] 1cc0: c3a11cf4 00000030 c3a11cec c3a11cd8 c005120c c0053e88 00000000 00000000
[    7.810000] 1ce0: c3a11d1c c3a11cf0 c00124d0 c00511e0 01400000 00000001 00000012 00000000
[    7.810000] 1d00: ffffffff c3a11d94 00000030 00000000 c3a11d34 c3a11d20 c005120c c0012438
[    7.810000] 1d20: c001dac4 00000012 c3a11d4c c3a11d38 c0009b08 c00511e0 c00523fc 60000013
[    7.810000] 1d40: c3a11d5c c3a11d50 c0008510 c0009ab4 c3a11ddc c3a11d60 c0008eb4 c00084f0
[    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
[    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
[    7.810000] 1da0: 60000013 ffffffff c3a11dec c3a11db8 00000000 c2c38b00 bf08f670 c3806900
[    7.810000] 1dc0: 00000000 00000080 c02cc928 00000030 c3a11e0c c3a11de0 c0052764 c00520d8
[    7.810000] 1de0: c3a11dfc 00000000 00000000 00000002 bf090f61 00000004 c02cc930 c02cc928
[    7.810000] 1e00: c3a11e4c c3a11e10 bf090978 c005269c bf090f61 c02cc928 bf093000 c02dd170
[    7.810000] 1e20: c3a11e3c c02cc930 c02cc930 bf0911d0 bf0911d0 bf093000 c3a10000 00000000
[    7.810000] 1e40: c3a11e5c c3a11e50 c0155b7c bf090808 c3a11e7c c3a11e60 c0154690 c0155b6c
[    7.810000] 1e60: c02cc930 c02cc964 bf0911d0 c3a11ea0 c3a11e9c c3a11e80 c015484c c01545e8
[    7.810000] 1e80: 00000000 00000000 c01547e4 bf0911d0 c3a11ec4 c3a11ea0 c0152e58 c01547f4
[    7.810000] 1ea0: c381b88c c384ab10 c2c10540 bf0911d0 00000000 c02d7518 c3a11ed4 c3a11ec8
[    7.810000] 1ec0: c01544c0 c0152e0c c3a11efc c3a11ed8 c01536cc c01544b0 bf091075 c3a11ee8
[    7.810000] 1ee0: bf049af0 bf09120c bf0911d0 00000000 c3a11f1c c3a11f00 c0154e9c c0153628
[    7.810000] 1f00: bf049af0 bf09120c 000ae190 00000000 c3a11f2c c3a11f20 c0155f58 c0154e04
[    7.810000] 1f20: c3a11f44 c3a11f30 bf093054 c0155f1c 00000000 00006a4f c3a11f7c c3a11f48
[    7.810000] 1f40: c0008638 bf093010 bf09120c 000ae190 00000000 c00093c4 00006a4f bf09120c
[    7.810000] 1f60: 000ae190 00000000 c00093c4 00000000 c3a11fa4 c3a11f80 c004fdc4 c000859c
[    7.810000] 1f80: c3a11fa4 000ae190 00006a4f 00016eb8 000ad018 00000080 00000000 c3a11fa8
[    7.810000] 1fa0: c0009260 c004fd58 00006a4f 00016eb8 000ae190 00006a4f 000ae100 00000000
[    7.810000] 1fc0: 00006a4f 00016eb8 000ad018 00000080 000adba0 000ad208 00000000 000ad3d8
[    7.810000] 1fe0: beaf7ae8 beaf7ad8 000172b8 b6e4e940 20000010 000ae190 00000000 00000000
[    7.810000] Backtrace:
[    7.810000] [&lt;c01392bc&gt;] (__gpio_to_irq+0x0/0x40) from [&lt;bf08f694&gt;] (ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd])
[    7.810000] [&lt;bf08f670&gt;] (ohci_hcd_at91_overcurrent_irq+0x0/0xb4 [ohci_hcd]) from [&lt;c0051264&gt;] (handle_irq_event_percpu+0x38/0x1a8)
[    7.810000]  r6:00000030 r5:c3806900 r4:c2c38b00
[    7.810000] [&lt;c005122c&gt;] (handle_irq_event_percpu+0x0/0x1a8) from [&lt;c005142c&gt;] (handle_irq_event+0x58/0x7c)
[    7.810000] [&lt;c00513d4&gt;] (handle_irq_event+0x0/0x7c) from [&lt;c0053f24&gt;] (handle_simple_irq+0xac/0xd8)
[    7.810000]  r5:c3805a00 r4:c3806900
[    7.810000] [&lt;c0053e78&gt;] (handle_simple_irq+0x0/0xd8) from [&lt;c005120c&gt;] (generic_handle_irq+0x3c/0x48)
[    7.810000]  r4:00000030
[    7.810000] [&lt;c00511d0&gt;] (generic_handle_irq+0x0/0x48) from [&lt;c00124d0&gt;] (gpio_irq_handler+0xa8/0xfc)
[    7.810000]  r4:00000000
[    7.810000] [&lt;c0012428&gt;] (gpio_irq_handler+0x0/0xfc) from [&lt;c005120c&gt;] (generic_handle_irq+0x3c/0x48)
[    7.810000] [&lt;c00511d0&gt;] (generic_handle_irq+0x0/0x48) from [&lt;c0009b08&gt;] (handle_IRQ+0x64/0x88)
[    7.810000]  r4:00000012
[    7.810000] [&lt;c0009aa4&gt;] (handle_IRQ+0x0/0x88) from [&lt;c0008510&gt;] (at91_aic_handle_irq+0x30/0x38)
[    7.810000]  r5:60000013 r4:c00523fc
[    7.810000] [&lt;c00084e0&gt;] (at91_aic_handle_irq+0x0/0x38) from [&lt;c0008eb4&gt;] (__irq_svc+0x34/0x60)
[    7.810000] Exception stack(0xc3a11d60 to 0xc3a11da8)
[    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
[    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
[    7.810000] 1da0: 60000013 ffffffff
[    7.810000] [&lt;c00520c8&gt;] (__setup_irq+0x0/0x458) from [&lt;c0052764&gt;] (request_threaded_irq+0xd8/0x134)
[    7.810000] [&lt;c005268c&gt;] (request_threaded_irq+0x0/0x134) from [&lt;bf090978&gt;] (ohci_hcd_at91_drv_probe+0x180/0x41c [ohci_hcd])
[    7.810000] [&lt;bf0907f8&gt;] (ohci_hcd_at91_drv_probe+0x0/0x41c [ohci_hcd]) from [&lt;c0155b7c&gt;] (platform_drv_probe+0x20/0x24)
[    7.810000] [&lt;c0155b5c&gt;] (platform_drv_probe+0x0/0x24) from [&lt;c0154690&gt;] (driver_probe_device+0xb8/0x20c)
[    7.810000] [&lt;c01545d8&gt;] (driver_probe_device+0x0/0x20c) from [&lt;c015484c&gt;] (__driver_attach+0x68/0x88)
[    7.810000]  r7:c3a11ea0 r6:bf0911d0 r5:c02cc964 r4:c02cc930
[    7.810000] [&lt;c01547e4&gt;] (__driver_attach+0x0/0x88) from [&lt;c0152e58&gt;] (bus_for_each_dev+0x5c/0x9c)
[    7.810000]  r6:bf0911d0 r5:c01547e4 r4:00000000
[    7.810000] [&lt;c0152dfc&gt;] (bus_for_each_dev+0x0/0x9c) from [&lt;c01544c0&gt;] (driver_attach+0x20/0x28)
[    7.810000]  r7:c02d7518 r6:00000000 r5:bf0911d0 r4:c2c10540
[    7.810000] [&lt;c01544a0&gt;] (driver_attach+0x0/0x28) from [&lt;c01536cc&gt;] (bus_add_driver+0xb4/0x22c)
[    7.810000] [&lt;c0153618&gt;] (bus_add_driver+0x0/0x22c) from [&lt;c0154e9c&gt;] (driver_register+0xa8/0x144)
[    7.810000]  r7:00000000 r6:bf0911d0 r5:bf09120c r4:bf049af0
[    7.810000] [&lt;c0154df4&gt;] (driver_register+0x0/0x144) from [&lt;c0155f58&gt;] (platform_driver_register+0x4c/0x60)
[    7.810000]  r7:00000000 r6:000ae190 r5:bf09120c r4:bf049af0
[    7.810000] [&lt;c0155f0c&gt;] (platform_driver_register+0x0/0x60) from [&lt;bf093054&gt;] (ohci_hcd_mod_init+0x54/0x8c [ohci_hcd])
[    7.810000] [&lt;bf093000&gt;] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [&lt;c0008638&gt;] (do_one_initcall+0xac/0x174)
[    7.810000]  r4:00006a4f
[    7.810000] [&lt;c000858c&gt;] (do_one_initcall+0x0/0x174) from [&lt;c004fdc4&gt;] (sys_init_module+0x7c/0x1a0)
[    7.810000] [&lt;c004fd48&gt;] (sys_init_module+0x0/0x1a0) from [&lt;c0009260&gt;] (ret_fast_syscall+0x0/0x2c)
[    7.810000]  r7:00000080 r6:000ad018 r5:00016eb8 r4:00006a4f
[    7.810000] Code: e24cb004 e59f3028 e1a02000 e7930180 (e5903028)
[    7.810000] ---[ end trace 85aa37ed128143b5 ]---
[    7.810000] Kernel panic - not syncing: Fatal exception in interrupt

Commit 6fffb77c (USB: ohci-at91: fix PIO handling in relation with number of
ports) started setting unused pins to EINVAL. But this exposed a bug in the
ohci_hcd_at91_overcurrent_irq function where the gpio was used without being
checked to see if it is valid.

This patches fixed the issue by adding the gpio valid check.

Signed-off-by: Joachim Eastwood &lt;joachim.eastwood@jotron.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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