[Armadeus-commitlog] SF.net SVN: armadeus:[1373] trunk/buildroot/target/device/armadeus/linux/ ker
Brought to you by:
sszy
Revision: 1373
http://armadeus.svn.sourceforge.net/armadeus/?rev=1373&view=rev
Author: artemys
Date: 2009-06-27 09:03:28 +0000 (Sat, 27 Jun 2009)
Log Message:
-----------
[LINUX] Prevents crash in UDC core after a soft reboot (2.6.29)
Added Paths:
-----------
trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/038-armadeus-imx_udc-prevent_crash_after_soft_reboot.patch
Added: trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/038-armadeus-imx_udc-prevent_crash_after_soft_reboot.patch
===================================================================
--- trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/038-armadeus-imx_udc-prevent_crash_after_soft_reboot.patch (rev 0)
+++ trunk/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/038-armadeus-imx_udc-prevent_crash_after_soft_reboot.patch 2009-06-27 09:03:28 UTC (rev 1373)
@@ -0,0 +1,27 @@
+
+IRQ handler needs imx_usb->base to be valid when called.
+After a soft reboot irq handler get called during request_irq() (UDC INT bug ?).
+So this patch moves imx_usb->base definition at the right place.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.29.4/drivers/usb/gadget/imx_udc.c
+===================================================================
+--- linux-2.6.29.4.orig/drivers/usb/gadget/imx_udc.c 2009-06-26 21:31:29.000000000 +0200
++++ linux-2.6.29.4/drivers/usb/gadget/imx_udc.c 2009-06-26 21:32:24.000000000 +0200
+@@ -1455,6 +1455,7 @@
+ }
+ }
+
++ imx_usb->base = base;
+ for (i = 0; i < IMX_USB_NB_EP + 1; i++) {
+ ret = request_irq(imx_usb->usbd_int[i], intr_handler(i),
+ IRQF_DISABLED, driver_name, imx_usb);
+@@ -1468,7 +1469,6 @@
+ }
+
+ imx_usb->res = res;
+- imx_usb->base = base;
+ imx_usb->clk = clk;
+ imx_usb->dev = &pdev->dev;
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|