diff options
-rw-r--r-- | hw/usb-bus.c | 3 | ||||
-rw-r--r-- | hw/usb-hub.c | 3 | ||||
-rw-r--r-- | hw/usb-net.c | 5 | ||||
-rw-r--r-- | hw/usb-ohci.c | 16 | ||||
-rw-r--r-- | hw/usb-serial.c | 2 | ||||
-rw-r--r-- | hw/usb-uhci.c | 6 | ||||
-rw-r--r-- | usb-linux.c | 3 |
7 files changed, 24 insertions, 14 deletions
diff --git a/hw/usb-bus.c b/hw/usb-bus.c index ee0e9e30e7..b692503f54 100644 --- a/hw/usb-bus.c +++ b/hw/usb-bus.c @@ -152,11 +152,10 @@ static void do_attach(USBDevice *dev) int usb_device_attach(USBDevice *dev) { USBBus *bus = usb_bus_from_device(dev); - USBDevice *hub; if (bus->nfree == 1) { /* Create a new hub and chain it on. */ - hub = usb_create_simple(bus, "usb-hub"); + usb_create_simple(bus, "usb-hub"); } do_attach(dev); return 0; diff --git a/hw/usb-hub.c b/hw/usb-hub.c index 1aee7fe5b4..2a1edfc956 100644 --- a/hw/usb-hub.c +++ b/hw/usb-hub.c @@ -366,11 +366,10 @@ static int usb_hub_handle_control(USBDevice *dev, int request, int value, { unsigned int n = index - 1; USBHubPort *port; - USBDevice *dev; + if (n >= s->nb_ports) goto fail; port = &s->ports[n]; - dev = port->port.dev; switch(value) { case PORT_ENABLE: port->wPortStatus &= ~PORT_STAT_ENABLE; diff --git a/hw/usb-net.c b/hw/usb-net.c index ff0ca44237..a43bd17636 100644 --- a/hw/usb-net.c +++ b/hw/usb-net.c @@ -972,11 +972,10 @@ static int rndis_keepalive_response(USBNetState *s, static int rndis_parse(USBNetState *s, uint8_t *data, int length) { - uint32_t msg_type, msg_length; + uint32_t msg_type; le32 *tmp = (le32 *) data; - msg_type = le32_to_cpup(tmp++); - msg_length = le32_to_cpup(tmp++); + msg_type = le32_to_cpup(tmp); switch (msg_type) { case RNDIS_INITIALIZE_MSG: diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c index 7cd5ca0c51..9f80e159ad 100644 --- a/hw/usb-ohci.c +++ b/hw/usb-ohci.c @@ -599,7 +599,9 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed, { int dir; size_t len = 0; +#ifdef DEBUG_ISOCH const char *str = NULL; +#endif int pid; int ret; int i; @@ -663,15 +665,21 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed, dir = OHCI_BM(ed->flags, ED_D); switch (dir) { case OHCI_TD_DIR_IN: +#ifdef DEBUG_ISOCH str = "in"; +#endif pid = USB_TOKEN_IN; break; case OHCI_TD_DIR_OUT: +#ifdef DEBUG_ISOCH str = "out"; +#endif pid = USB_TOKEN_OUT; break; case OHCI_TD_DIR_SETUP: +#ifdef DEBUG_ISOCH str = "setup"; +#endif pid = USB_TOKEN_SETUP; break; default: @@ -834,7 +842,9 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) { int dir; size_t len = 0; +#ifdef DEBUG_PACKET const char *str = NULL; +#endif int pid; int ret; int i; @@ -871,15 +881,21 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) switch (dir) { case OHCI_TD_DIR_IN: +#ifdef DEBUG_PACKET str = "in"; +#endif pid = USB_TOKEN_IN; break; case OHCI_TD_DIR_OUT: +#ifdef DEBUG_PACKET str = "out"; +#endif pid = USB_TOKEN_OUT; break; case OHCI_TD_DIR_SETUP: +#ifdef DEBUG_PACKET str = "setup"; +#endif pid = USB_TOKEN_SETUP; break; default: diff --git a/hw/usb-serial.c b/hw/usb-serial.c index 69f0e44f11..5b2483ab44 100644 --- a/hw/usb-serial.c +++ b/hw/usb-serial.c @@ -449,7 +449,7 @@ static int usb_serial_handle_data(USBDevice *dev, USBPacket *p) /* handle serial break */ if (s->event_trigger && s->event_trigger & FTDI_BI) { s->event_trigger &= ~FTDI_BI; - *data++ = FTDI_BI; + *data = FTDI_BI; ret = 2; break; } else { diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c index 7c45d7f512..624d55b3b2 100644 --- a/hw/usb-uhci.c +++ b/hw/usb-uhci.c @@ -698,7 +698,6 @@ static int uhci_complete_td(UHCIState *s, UHCI_TD *td, UHCIAsync *async, uint32_ if (pid == USB_TOKEN_IN) { if (len > max_len) { - len = max_len; ret = USB_RET_BABBLE; goto out; } @@ -865,8 +864,7 @@ static void uhci_async_complete(USBPacket *packet, void *opaque) UHCI_TD td; uint32_t link = async->td; uint32_t int_mask = 0, val; - int len; - + cpu_physical_memory_read(link & ~0xf, (uint8_t *) &td, sizeof(td)); le32_to_cpus(&td.link); le32_to_cpus(&td.ctrl); @@ -874,7 +872,7 @@ static void uhci_async_complete(USBPacket *packet, void *opaque) le32_to_cpus(&td.buffer); uhci_async_unlink(s, async); - len = uhci_complete_td(s, &td, async, &int_mask); + uhci_complete_td(s, &td, async, &int_mask); s->pending_int_mask |= int_mask; /* update the status bits of the TD */ diff --git a/usb-linux.c b/usb-linux.c index d0d7cff496..ecfe668b11 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -287,7 +287,7 @@ static void async_cancel(USBPacket *unused, void *opaque) static int usb_host_claim_interfaces(USBHostDevice *dev, int configuration) { int dev_descr_len, config_descr_len; - int interface, nb_interfaces, nb_configurations; + int interface, nb_interfaces; int ret, i; if (configuration == 0) /* address state - ignore */ @@ -299,7 +299,6 @@ static int usb_host_claim_interfaces(USBHostDevice *dev, int configuration) dev_descr_len = dev->descr[0]; if (dev_descr_len > dev->descr_len) goto fail; - nb_configurations = dev->descr[17]; i += dev_descr_len; while (i < dev->descr_len) { |