Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
[pandora-kernel.git] / drivers / usb / gadget / f_phonet.c
index f22fc68..8f8d3f6 100644 (file)
@@ -428,17 +428,16 @@ static int pn_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
                spin_lock(&port->lock);
                __pn_reset(f);
                if (alt == 1) {
-                       struct usb_endpoint_descriptor *out, *in;
                        int i;
 
-                       out = ep_choose(gadget,
-                                       &pn_hs_sink_desc,
-                                       &pn_fs_sink_desc);
-                       in = ep_choose(gadget,
-                                       &pn_hs_source_desc,
-                                       &pn_fs_source_desc);
-                       usb_ep_enable(fp->out_ep, out);
-                       usb_ep_enable(fp->in_ep, in);
+                       if (config_ep_by_speed(gadget, f, fp->in_ep) ||
+                           config_ep_by_speed(gadget, f, fp->out_ep)) {
+                               fp->in_ep->desc = NULL;
+                               fp->out_ep->desc = NULL;
+                               return -EINVAL;
+                       }
+                       usb_ep_enable(fp->out_ep);
+                       usb_ep_enable(fp->in_ep);
 
                        port->usb = fp;
                        fp->out_ep->driver_data = fp;