aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/printer.c
diff options
context:
space:
mode:
authorJonas Andersson <jonas@microbit.se>2011-03-21 14:54:09 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-29 17:24:31 -0700
commita0c25c20502e0c4a467f5d7e27b2a599cfe57abe (patch)
tree810508984bc623c897fe1947b98e900290d44d7c /drivers/usb/gadget/printer.c
parenta8779ee94e6114bf071ef3ca6c8c9cb270d179ed (diff)
USB: g_printer required set interface request
g_printer reqiured "set interface" request from host. Not all hosts send this request. This patch enable the interface when it get "set configuration" request from host. Signed-off-by: Jonas Andersson <jonas@microbit.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/printer.c')
-rw-r--r--drivers/usb/gadget/printer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c
index c3f2bd42bd5..271ef94668e 100644
--- a/drivers/usb/gadget/printer.c
+++ b/drivers/usb/gadget/printer.c
@@ -1189,6 +1189,8 @@ printer_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
else if (gadget->a_alt_hnp_support)
DBG(dev, "HNP needs a different root port\n");
value = printer_set_config(dev, wValue);
+ if (!value)
+ value = set_interface(dev, PRINTER_INTERFACE);
break;
case USB_REQ_GET_CONFIGURATION:
if (ctrl->bRequestType != USB_DIR_IN)