From 37b7dc7f2232b54f8fc8a5590245af37fe7d8299 Mon Sep 17 00:00:00 2001
From: Cerrato Renaud <r.cerrato@til-technologies.fr>
Date: Thu, 28 Feb 2013 15:04:53 +0100
Subject: [PATCH 3/3] null pointer dereference fix

---
 drivers/usb/gadget/composite.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 9af115e..1f6c5b2 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -777,18 +777,21 @@ unknown:
 		 * recipients (endpoint, other, WUSB, ...) to the current
 		 * configuration code.
 		 */
-		f = cdev->config->interface[intf];
-		if (f && f->setup)
-			value = f->setup(f, ctrl);
-		else
-			f = NULL;
+		if(cdev->config) {
 
-		if (value < 0 && !f) {
-			struct usb_configuration	*c;
+			f = cdev->config->interface[intf];
+			if (f && f->setup)
+				value = f->setup(f, ctrl);
+			else
+				f = NULL;
 
-			c = cdev->config;
-			if (c && c->setup)
-				value = c->setup(c, ctrl);
+			if (value < 0 && !f) {
+				struct usb_configuration	*c;
+
+				c = cdev->config;
+				if (c && c->setup)
+					value = c->setup(c, ctrl);
+			}
 		}
 
 		goto done;
-- 
1.7.2.5

