summaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/1205-From-cede5c6c9b06ecbb0f7f2df7b7070092b87ddaf8-Mon-Se.patch
blob: 7697510e73d0a1ea68104887d7107accf645a359 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
From 589ebad15051f452feb95719db6b219dc221af40 Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@openmoko.org>
Date: Fri, 25 Jul 2008 23:06:18 +0100
Subject: [PATCH] From cede5c6c9b06ecbb0f7f2df7b7070092b87ddaf8 Mon Sep 17 00:00:00 2001
 Subject: [PATCH] [pcf50633] Avoid ooops on start with inserted usb cable
     The pcf50633_global might not be initialized when we get the first
     usb interrupt. We would oops inside the dev_err because we made up
     a struct device.

Signed-Off-By: Holger Freyther <zecke@openmoko.org>
---
 arch/arm/mach-s3c2440/mach-gta02.c |    3 +++
 drivers/i2c/chips/pcf50633.c       |    4 +---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index 7118332..b3d3797 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -883,6 +883,9 @@ static void gta02_udc_command(enum s3c2410_udc_cmd_e cmd)
 
 static void gta02_udc_vbus_draw(unsigned int ma)
 {
+        if (!pcf50633_global)
+		return;
+
 	pcf50633_notify_usb_current_limit_change(pcf50633_global, ma);
 }
 
diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index ead4273..76bb886 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -690,9 +690,7 @@ int pcf50633_notify_usb_current_limit_change(struct pcf50633_data *pcf,
 	 * have to bail with error since we can't even schedule the work
 	 */
 	if (!pcf) {
-		dev_err(&pcf->client.dev,
-			"pcf50633_notify_usb_current_limit_change "
-			"called with NULL pcf\n");
+		printk(KERN_ERR "pcf50633_notify_usb_current_limit called with NULL pcf\n");
 		return -EBUSY;
 	}
 
-- 
1.5.6.3