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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html