Skip to contentSkip to conversation

ARM: OMAP: Fix musb_core parameter passing to cppi start

PATCH In review Dirk Behme 2 participants 2 messages Oct 8, 2007 – Oct 9, 2007

Subsystems (2)
lore
Share & tools
lore

Dirk Behme

author
#0 lore raw

PATCH 1/1 ARM: OMAP: Fix musb_core parameter passing to cppi start

cppi_controller_start() expects a struct dma_controller as parameter and not dma_controller private_data. Current implementation crashes with e.g.

Internal error: Oops: 805 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.23-rc4-davinci1 #2)
PC is at cppi_controller_start+0x18/0x140
LR is at musb_probe+0x1f4/0x824

Fix this. Initial proposal for fix by David Brownell. Thanks!

drivers/usb/musb/musb_core.c +1 -1
Index: linux-osk/drivers/usb/musb/musb_core.c
===================================================================
@@ -1980,7 +1980,7 @@ musb_init_controller(struct device *dev,
 		c = dma_controller_create(musb, musb->mregs);
 		musb->dma_controller = c;
 		if (c)
-			(void) c->start(c->private_data);
+			(void) c->start(c);
 	}
 #endif
 	/* ideally this would be abstracted in platform setup */
#1 lore raw
Quoted 22 lines · Dirk Behme

cppi_controller_start() expects a struct dma_controller as parameter and not dma_controller private_data. Current implementation crashes with e.g.

Internal error: Oops: 805 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.23-rc4-davinci1 #2)
PC is at cppi_controller_start+0x18/0x140
LR is at musb_probe+0x1f4/0x824

Fix this. Initial proposal for fix by David Brownell. Thanks!

Index: linux-osk/drivers/usb/musb/musb_core.c
===================================================================

drivers/usb/musb/musb_core.c musb_init_controller(struct device *dev, · line 1986

Quoted 8 lines
drivers/usb/musb/musb_core.c +1 -1
@@ -1980,7 +1980,7 @@ musb_init_controller(struct device *dev,
 		c = dma_controller_create(musb, musb->mregs);
 		musb->dma_controller = c;
 		if (c)
-			(void) c->start(c->private_data);
+			(void) c->start(c);
 	}
 #endif
 	/* ideally this would be abstracted in platform setup */

Pushing today.

Tony