Patchwork [09/14] usb-linux: Don't declare a usbdevice_name

login
register
mail settings
Submitter Hans de Goede
Date May 31, 2011, 9:35 a.m.
Message ID <1306834530-12763-10-git-send-email-hdegoede@redhat.com>
Download mbox | patch
Permalink /patch/97991/
State New
Headers show

Comments

Hans de Goede - May 31, 2011, 9:35 a.m.
Declaring a usbdevice_name while we still have an explicit call to
usb_host_device_open in vl.c causes usb_host_device_open to get called
twice if the initial call fails.
---
 usb-linux.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Gerd Hoffmann - June 1, 2011, 12:44 p.m.
On 05/31/11 11:35, Hans de Goede wrote:
> Declaring a usbdevice_name while we still have an explicit call to
> usb_host_device_open in vl.c causes usb_host_device_open to get called
> twice if the initial call fails.

Wrong way around, the vl.c call should be zapped instead.  Just did.

cheers,
   Gerd
Hans de Goede - June 1, 2011, 2:38 p.m.
Hi,

On 06/01/2011 02:44 PM, Gerd Hoffmann wrote:
> On 05/31/11 11:35, Hans de Goede wrote:
>> Declaring a usbdevice_name while we still have an explicit call to
>> usb_host_device_open in vl.c causes usb_host_device_open to get called
>> twice if the initial call fails.
>
> Wrong way around, the vl.c call should be zapped instead. Just did.

Sounds good to me, but you will also need to fix usb-bsd to
declare a usbdevice_name and initfn then.

Regards,

Hans

Patch

diff --git a/usb-linux.c b/usb-linux.c
index eb9805b..3508cda 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1227,8 +1227,12 @@  static struct USBDeviceInfo usb_host_dev_info = {
     .handle_control = usb_host_handle_control,
     .handle_reset   = usb_host_handle_reset,
     .handle_destroy = usb_host_handle_destroy,
+#if 0 /* HDG: having this enabled while still having an explicit call to
+         usb_host_device_open in vl.c causes usb_host_device_open to get called
+         twice if the initial call fails */
     .usbdevice_name = "host",
     .usbdevice_init = usb_host_device_open,
+#endif
     .qdev.props     = (Property[]) {
         DEFINE_PROP_UINT32("hostbus",  USBHostDevice, match.bus_num,    0),
         DEFINE_PROP_UINT32("hostaddr", USBHostDevice, match.addr,       0),