Message ID | a38b25541003182159p75e1ff04nb29ff6d3c73d7b49@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Fri, Mar 19, 2010 at 12:59:24PM +0800, TeLeMan wrote: > The "params" is never NULL and the usb hid devices have no params. This looks plainly wrong. With your patch, usb devices which don't accept parameters, will accept and ignore them. What are you trying to fix here? > Signed-off-by: TeLeMan <geleman@gmail.com> > --- > hw/usb-bus.c | 4 ---- > 1 files changed, 0 insertions(+), 4 deletions(-) > > diff --git a/hw/usb-bus.c b/hw/usb-bus.c > index ce8a694..f3f1ed6 100644 > --- a/hw/usb-bus.c > +++ b/hw/usb-bus.c > @@ -299,10 +299,6 @@ USBDevice *usbdevice_create(const char *cmdline) > } > > if (!usb->usbdevice_init) { > - if (params) { > - error_report("usbdevice %s accepts no params", driver); > - return NULL; > - } > return usb_create_simple(bus, usb->qdev.name); > } > return usb->usbdevice_init(params); > -- > 1.6.5.1.1367.gcd48 > -- > SUN OF A BEACH > > >
Am 27.03.2010 13:47, schrieb Aurelien Jarno: > On Fri, Mar 19, 2010 at 12:59:24PM +0800, TeLeMan wrote: >> The "params" is never NULL and the usb hid devices have no params. > > This looks plainly wrong. With your patch, usb devices which don't > accept parameters, will accept and ignore them. > > What are you trying to fix here? It looks like it's fixing -usbdevice tablet (and keyboard/mouse) which currently fails like this: qemu-system-x86_64: usbdevice tablet accepts no params qemu: could not add USB device 'tablet' He's correct in that params is never NULL (if it was NULL it's set to an empty string some lines earlier, introduced by 702f3e0f), so usb_create_simple is never called. Maybe the right fix is to check for *params instead of params now? Kevin > >> Signed-off-by: TeLeMan <geleman@gmail.com> >> --- >> hw/usb-bus.c | 4 ---- >> 1 files changed, 0 insertions(+), 4 deletions(-) >> >> diff --git a/hw/usb-bus.c b/hw/usb-bus.c >> index ce8a694..f3f1ed6 100644 >> --- a/hw/usb-bus.c >> +++ b/hw/usb-bus.c >> @@ -299,10 +299,6 @@ USBDevice *usbdevice_create(const char *cmdline) >> } >> >> if (!usb->usbdevice_init) { >> - if (params) { >> - error_report("usbdevice %s accepts no params", driver); >> - return NULL; >> - } >> return usb_create_simple(bus, usb->qdev.name); >> } >> return usb->usbdevice_init(params); >> -- >> 1.6.5.1.1367.gcd48 >> -- >> SUN OF A BEACH >> >> >> >
On Mon, Mar 29, 2010 at 20:16, Kevin Wolf <kwolf@redhat.com> wrote: > Am 27.03.2010 13:47, schrieb Aurelien Jarno: >> On Fri, Mar 19, 2010 at 12:59:24PM +0800, TeLeMan wrote: >>> The "params" is never NULL and the usb hid devices have no params. >> >> This looks plainly wrong. With your patch, usb devices which don't >> accept parameters, will accept and ignore them. >> >> What are you trying to fix here? > > It looks like it's fixing -usbdevice tablet (and keyboard/mouse) which > currently fails like this: > > qemu-system-x86_64: usbdevice tablet accepts no params > qemu: could not add USB device 'tablet' > > He's correct in that params is never NULL (if it was NULL it's set to an > empty string some lines earlier, introduced by 702f3e0f), so > usb_create_simple is never called. Maybe the right fix is to check for > *params instead of params now? Yes, you are right. I did a new patch for it.
diff --git a/hw/usb-bus.c b/hw/usb-bus.c index ce8a694..f3f1ed6 100644 --- a/hw/usb-bus.c +++ b/hw/usb-bus.c @@ -299,10 +299,6 @@ USBDevice *usbdevice_create(const char *cmdline) } if (!usb->usbdevice_init) { - if (params) { - error_report("usbdevice %s accepts no params", driver); - return NULL; - } return usb_create_simple(bus, usb->qdev.name); } return usb->usbdevice_init(params);
The "params" is never NULL and the usb hid devices have no params. Signed-off-by: TeLeMan <geleman@gmail.com> --- hw/usb-bus.c | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-)