__u8 bDescriptorType;
__u8 bDescriptorSubtype;
__u8 bcdMSC[2];
- __u16 wTotalLength;
+ __le16 wTotalLength;
} __attribute__ ((packed));
struct usb_ms_endpoint_descriptor {
static void snd_usbmidi_in_endpoint_delete(snd_usb_midi_in_endpoint_t* ep)
{
if (ep->urb) {
- if (ep->urb->transfer_buffer)
- kfree(ep->urb->transfer_buffer);
+ kfree(ep->urb->transfer_buffer);
usb_free_urb(ep->urb);
}
kfree(ep);
struct usb_host_interface *hostif;
struct usb_interface_descriptor* intfd;
- if (umidi->chip->dev->descriptor.idVendor != 0x0582)
+ if (le16_to_cpu(umidi->chip->dev->descriptor.idVendor) != 0x0582)
return NULL;
intf = umidi->iface;
if (!intf || intf->num_altsetting != 2)
if (ep->tasklet.func)
tasklet_kill(&ep->tasklet);
if (ep->urb) {
- if (ep->urb->transfer_buffer)
- kfree(ep->urb->transfer_buffer);
+ kfree(ep->urb->transfer_buffer);
usb_free_urb(ep->urb);
}
kfree(ep);
for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) {
snd_usb_midi_endpoint_t* ep = &umidi->endpoints[i];
if (ep->out && ep->out->urb)
- usb_unlink_urb(ep->out->urb);
+ usb_kill_urb(ep->out->urb);
if (ep->in && ep->in->urb)
- usb_unlink_urb(ep->in->urb);
+ usb_kill_urb(ep->in->urb);
}
}
/* TODO: read port name from jack descriptor */
name_format = "%s MIDI %d";
- vendor = umidi->chip->dev->descriptor.idVendor;
- product = umidi->chip->dev->descriptor.idProduct;
+ vendor = le16_to_cpu(umidi->chip->dev->descriptor.idVendor);
+ product = le16_to_cpu(umidi->chip->dev->descriptor.idProduct);
for (i = 0; i < ARRAY_SIZE(snd_usbmidi_port_names); ++i) {
if (snd_usbmidi_port_names[i].vendor == vendor &&
snd_usbmidi_port_names[i].product == product &&
for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) {
snd_usb_midi_endpoint_t* ep = &umidi->endpoints[i];
if (ep->in)
- usb_unlink_urb(ep->in->urb);
+ usb_kill_urb(ep->in->urb);
}
}