On Thu, 24 Oct 2013, [iso-8859-2] J�nosi Zoli wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=63611
> �
> Bug ID: 63611
> Summary: cant connect sony phones in mass storage mode

Is CONFIG_USB_OTG turned on in your kernel's .config?  If it is, try 
building a new kernel with it turned off.

Felipe:

Is the usb_enumerate_device_otg() routine really correct?  It looks 
like it will try to enable HNP whenever CONFIG_USB_OTG is set, even if 
the root hub isn't OTG-capable.

The routine does this:

                                /* enable HNP before suspend, it's simpler */
                                if (port1 == bus->otg_port)
                                        bus->b_hnp_enable = 1;
                                err = usb_control_msg(udev,
                                        usb_sndctrlpipe(udev, 0),
                                        USB_REQ_SET_FEATURE, 0,
                                        bus->b_hnp_enable
                                                ? USB_DEVICE_B_HNP_ENABLE
                                                : USB_DEVICE_A_ALT_HNP_SUPPORT,
                                        0, NULL, 0, USB_CTRL_SET_TIMEOUT);
                                if (err < 0) {
                                        /* OTG MESSAGE: report errors here,
                                         * customize to match your product.
                                         */
                                        dev_info(&udev->dev,
                                                "can't set HNP mode: %d\n",
                                                err);
                                        bus->b_hnp_enable = 0;
                                }

Maybe the usb_control_msg and the error check should be inside the 
first "if" statement?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to