Am Sonntag, 28. Dezember 2008 15:14:52 schrieb Tilman Schmidt:> + /* find endpoints */> epctrl = &control_interface->cur_altsetting->endpoint[0].desc;> - epread = &data_interface->cur_altsetting->endpoint[0].desc;> - epwrite = &data_interface->cur_altsetting->endpoint[1].desc;> -> + if (data_interface == control_interface) {> + /* shared interface */> + if (data_interface->cur_altsetting->desc.bNumEndpoints < 3)> + return -EINVAL;> + dev_dbg(&intf->dev, "Shared interface, shifting data EPs.\n");> + epread = &data_interface->cur_altsetting->endpoint[1].desc;> + epwrite = &data_interface->cur_altsetting->endpoint[2].desc; You cannot do this this way. Sharing an interface is against the spec.If you do a generic work around you need to verify the endpoints arecorrect. Regards Oliver ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥