mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
USB: rename usb_buffer_alloc() and usb_buffer_free() users
For more clearance what the functions actually do, usb_buffer_alloc() is renamed to usb_alloc_coherent() usb_buffer_free() is renamed to usb_free_coherent() They should only be used in code which really needs DMA coherency. All call sites have been changed accordingly, except for staging drivers. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Pedro Ribeiro <pedrib@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
48679c6d77
commit
997ea58eb9
@ -342,7 +342,7 @@ static inline void skel_delete (struct usb_skel *dev)
|
||||
{
|
||||
kfree (dev->bulk_in_buffer);
|
||||
if (dev->bulk_out_buffer != NULL)
|
||||
usb_buffer_free (dev->udev, dev->bulk_out_size,
|
||||
usb_free_coherent (dev->udev, dev->bulk_out_size,
|
||||
dev->bulk_out_buffer,
|
||||
dev->write_urb->transfer_dma);
|
||||
usb_free_urb (dev->write_urb);
|
||||
|
@ -43,10 +43,10 @@ and effects like cache-trashing can impose subtle penalties.
|
||||
kind of addresses to store in urb->transfer_buffer and urb->transfer_dma.
|
||||
You'd also set URB_NO_TRANSFER_DMA_MAP in urb->transfer_flags:
|
||||
|
||||
void *usb_buffer_alloc (struct usb_device *dev, size_t size,
|
||||
void *usb_alloc_coherent (struct usb_device *dev, size_t size,
|
||||
int mem_flags, dma_addr_t *dma);
|
||||
|
||||
void usb_buffer_free (struct usb_device *dev, size_t size,
|
||||
void usb_free_coherent (struct usb_device *dev, size_t size,
|
||||
void *addr, dma_addr_t dma);
|
||||
|
||||
Most drivers should *NOT* be using these primitives; they don't need
|
||||
|
@ -783,12 +783,12 @@ static int hid_alloc_buffers(struct usb_device *dev, struct hid_device *hid)
|
||||
{
|
||||
struct usbhid_device *usbhid = hid->driver_data;
|
||||
|
||||
usbhid->inbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
usbhid->inbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
&usbhid->inbuf_dma);
|
||||
usbhid->outbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
usbhid->outbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
&usbhid->outbuf_dma);
|
||||
usbhid->cr = kmalloc(sizeof(*usbhid->cr), GFP_KERNEL);
|
||||
usbhid->ctrlbuf = usb_buffer_alloc(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
usbhid->ctrlbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,
|
||||
&usbhid->ctrlbuf_dma);
|
||||
if (!usbhid->inbuf || !usbhid->outbuf || !usbhid->cr ||
|
||||
!usbhid->ctrlbuf)
|
||||
@ -843,10 +843,10 @@ static void hid_free_buffers(struct usb_device *dev, struct hid_device *hid)
|
||||
{
|
||||
struct usbhid_device *usbhid = hid->driver_data;
|
||||
|
||||
usb_buffer_free(dev, usbhid->bufsize, usbhid->inbuf, usbhid->inbuf_dma);
|
||||
usb_buffer_free(dev, usbhid->bufsize, usbhid->outbuf, usbhid->outbuf_dma);
|
||||
usb_free_coherent(dev, usbhid->bufsize, usbhid->inbuf, usbhid->inbuf_dma);
|
||||
usb_free_coherent(dev, usbhid->bufsize, usbhid->outbuf, usbhid->outbuf_dma);
|
||||
kfree(usbhid->cr);
|
||||
usb_buffer_free(dev, usbhid->bufsize, usbhid->ctrlbuf, usbhid->ctrlbuf_dma);
|
||||
usb_free_coherent(dev, usbhid->bufsize, usbhid->ctrlbuf, usbhid->ctrlbuf_dma);
|
||||
}
|
||||
|
||||
static int usbhid_parse(struct hid_device *hid)
|
||||
|
@ -196,11 +196,11 @@ static int usb_kbd_alloc_mem(struct usb_device *dev, struct usb_kbd *kbd)
|
||||
return -1;
|
||||
if (!(kbd->led = usb_alloc_urb(0, GFP_KERNEL)))
|
||||
return -1;
|
||||
if (!(kbd->new = usb_buffer_alloc(dev, 8, GFP_ATOMIC, &kbd->new_dma)))
|
||||
if (!(kbd->new = usb_alloc_coherent(dev, 8, GFP_ATOMIC, &kbd->new_dma)))
|
||||
return -1;
|
||||
if (!(kbd->cr = kmalloc(sizeof(struct usb_ctrlrequest), GFP_KERNEL)))
|
||||
return -1;
|
||||
if (!(kbd->leds = usb_buffer_alloc(dev, 1, GFP_ATOMIC, &kbd->leds_dma)))
|
||||
if (!(kbd->leds = usb_alloc_coherent(dev, 1, GFP_ATOMIC, &kbd->leds_dma)))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
@ -210,9 +210,9 @@ static void usb_kbd_free_mem(struct usb_device *dev, struct usb_kbd *kbd)
|
||||
{
|
||||
usb_free_urb(kbd->irq);
|
||||
usb_free_urb(kbd->led);
|
||||
usb_buffer_free(dev, 8, kbd->new, kbd->new_dma);
|
||||
usb_free_coherent(dev, 8, kbd->new, kbd->new_dma);
|
||||
kfree(kbd->cr);
|
||||
usb_buffer_free(dev, 1, kbd->leds, kbd->leds_dma);
|
||||
usb_free_coherent(dev, 1, kbd->leds, kbd->leds_dma);
|
||||
}
|
||||
|
||||
static int usb_kbd_probe(struct usb_interface *iface,
|
||||
|
@ -142,7 +142,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
|
||||
if (!mouse || !input_dev)
|
||||
goto fail1;
|
||||
|
||||
mouse->data = usb_buffer_alloc(dev, 8, GFP_ATOMIC, &mouse->data_dma);
|
||||
mouse->data = usb_alloc_coherent(dev, 8, GFP_ATOMIC, &mouse->data_dma);
|
||||
if (!mouse->data)
|
||||
goto fail1;
|
||||
|
||||
@ -205,7 +205,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
|
||||
fail3:
|
||||
usb_free_urb(mouse->irq);
|
||||
fail2:
|
||||
usb_buffer_free(dev, 8, mouse->data, mouse->data_dma);
|
||||
usb_free_coherent(dev, 8, mouse->data, mouse->data_dma);
|
||||
fail1:
|
||||
input_free_device(input_dev);
|
||||
kfree(mouse);
|
||||
@ -221,7 +221,7 @@ static void usb_mouse_disconnect(struct usb_interface *intf)
|
||||
usb_kill_urb(mouse->irq);
|
||||
input_unregister_device(mouse->dev);
|
||||
usb_free_urb(mouse->irq);
|
||||
usb_buffer_free(interface_to_usbdev(intf), 8, mouse->data, mouse->data_dma);
|
||||
usb_free_coherent(interface_to_usbdev(intf), 8, mouse->data, mouse->data_dma);
|
||||
kfree(mouse);
|
||||
}
|
||||
}
|
||||
|
@ -533,8 +533,8 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)
|
||||
if (xpad->xtype != XTYPE_XBOX360 && xpad->xtype != XTYPE_XBOX)
|
||||
return 0;
|
||||
|
||||
xpad->odata = usb_buffer_alloc(xpad->udev, XPAD_PKT_LEN,
|
||||
GFP_KERNEL, &xpad->odata_dma);
|
||||
xpad->odata = usb_alloc_coherent(xpad->udev, XPAD_PKT_LEN,
|
||||
GFP_KERNEL, &xpad->odata_dma);
|
||||
if (!xpad->odata)
|
||||
goto fail1;
|
||||
|
||||
@ -554,7 +554,7 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)
|
||||
|
||||
return 0;
|
||||
|
||||
fail2: usb_buffer_free(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma);
|
||||
fail2: usb_free_coherent(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma);
|
||||
fail1: return error;
|
||||
}
|
||||
|
||||
@ -568,7 +568,7 @@ static void xpad_deinit_output(struct usb_xpad *xpad)
|
||||
{
|
||||
if (xpad->xtype == XTYPE_XBOX360 || xpad->xtype == XTYPE_XBOX) {
|
||||
usb_free_urb(xpad->irq_out);
|
||||
usb_buffer_free(xpad->udev, XPAD_PKT_LEN,
|
||||
usb_free_coherent(xpad->udev, XPAD_PKT_LEN,
|
||||
xpad->odata, xpad->odata_dma);
|
||||
}
|
||||
}
|
||||
@ -788,8 +788,8 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id
|
||||
if (!xpad || !input_dev)
|
||||
goto fail1;
|
||||
|
||||
xpad->idata = usb_buffer_alloc(udev, XPAD_PKT_LEN,
|
||||
GFP_KERNEL, &xpad->idata_dma);
|
||||
xpad->idata = usb_alloc_coherent(udev, XPAD_PKT_LEN,
|
||||
GFP_KERNEL, &xpad->idata_dma);
|
||||
if (!xpad->idata)
|
||||
goto fail1;
|
||||
|
||||
@ -942,7 +942,7 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id
|
||||
fail5: usb_kill_urb(xpad->irq_in);
|
||||
fail4: usb_free_urb(xpad->irq_in);
|
||||
fail3: xpad_deinit_output(xpad);
|
||||
fail2: usb_buffer_free(udev, XPAD_PKT_LEN, xpad->idata, xpad->idata_dma);
|
||||
fail2: usb_free_coherent(udev, XPAD_PKT_LEN, xpad->idata, xpad->idata_dma);
|
||||
fail1: input_free_device(input_dev);
|
||||
kfree(xpad);
|
||||
return error;
|
||||
@ -964,7 +964,7 @@ static void xpad_disconnect(struct usb_interface *intf)
|
||||
usb_kill_urb(xpad->irq_in);
|
||||
}
|
||||
usb_free_urb(xpad->irq_in);
|
||||
usb_buffer_free(xpad->udev, XPAD_PKT_LEN,
|
||||
usb_free_coherent(xpad->udev, XPAD_PKT_LEN,
|
||||
xpad->idata, xpad->idata_dma);
|
||||
kfree(xpad);
|
||||
}
|
||||
|
@ -624,13 +624,13 @@ static void ati_remote_irq_in(struct urb *urb)
|
||||
static int ati_remote_alloc_buffers(struct usb_device *udev,
|
||||
struct ati_remote *ati_remote)
|
||||
{
|
||||
ati_remote->inbuf = usb_buffer_alloc(udev, DATA_BUFSIZE, GFP_ATOMIC,
|
||||
&ati_remote->inbuf_dma);
|
||||
ati_remote->inbuf = usb_alloc_coherent(udev, DATA_BUFSIZE, GFP_ATOMIC,
|
||||
&ati_remote->inbuf_dma);
|
||||
if (!ati_remote->inbuf)
|
||||
return -1;
|
||||
|
||||
ati_remote->outbuf = usb_buffer_alloc(udev, DATA_BUFSIZE, GFP_ATOMIC,
|
||||
&ati_remote->outbuf_dma);
|
||||
ati_remote->outbuf = usb_alloc_coherent(udev, DATA_BUFSIZE, GFP_ATOMIC,
|
||||
&ati_remote->outbuf_dma);
|
||||
if (!ati_remote->outbuf)
|
||||
return -1;
|
||||
|
||||
@ -653,10 +653,10 @@ static void ati_remote_free_buffers(struct ati_remote *ati_remote)
|
||||
usb_free_urb(ati_remote->irq_urb);
|
||||
usb_free_urb(ati_remote->out_urb);
|
||||
|
||||
usb_buffer_free(ati_remote->udev, DATA_BUFSIZE,
|
||||
usb_free_coherent(ati_remote->udev, DATA_BUFSIZE,
|
||||
ati_remote->inbuf, ati_remote->inbuf_dma);
|
||||
|
||||
usb_buffer_free(ati_remote->udev, DATA_BUFSIZE,
|
||||
usb_free_coherent(ati_remote->udev, DATA_BUFSIZE,
|
||||
ati_remote->outbuf, ati_remote->outbuf_dma);
|
||||
}
|
||||
|
||||
|
@ -589,7 +589,7 @@ static int ati_remote2_urb_init(struct ati_remote2 *ar2)
|
||||
int i, pipe, maxp;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
ar2->buf[i] = usb_buffer_alloc(udev, 4, GFP_KERNEL, &ar2->buf_dma[i]);
|
||||
ar2->buf[i] = usb_alloc_coherent(udev, 4, GFP_KERNEL, &ar2->buf_dma[i]);
|
||||
if (!ar2->buf[i])
|
||||
return -ENOMEM;
|
||||
|
||||
@ -617,7 +617,7 @@ static void ati_remote2_urb_cleanup(struct ati_remote2 *ar2)
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
usb_free_urb(ar2->urb[i]);
|
||||
usb_buffer_free(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]);
|
||||
usb_free_coherent(ar2->udev, 4, ar2->buf[i], ar2->buf_dma[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -630,11 +630,11 @@ static void cm109_usb_cleanup(struct cm109_dev *dev)
|
||||
{
|
||||
kfree(dev->ctl_req);
|
||||
if (dev->ctl_data)
|
||||
usb_buffer_free(dev->udev, USB_PKT_LEN,
|
||||
dev->ctl_data, dev->ctl_dma);
|
||||
usb_free_coherent(dev->udev, USB_PKT_LEN,
|
||||
dev->ctl_data, dev->ctl_dma);
|
||||
if (dev->irq_data)
|
||||
usb_buffer_free(dev->udev, USB_PKT_LEN,
|
||||
dev->irq_data, dev->irq_dma);
|
||||
usb_free_coherent(dev->udev, USB_PKT_LEN,
|
||||
dev->irq_data, dev->irq_dma);
|
||||
|
||||
usb_free_urb(dev->urb_irq); /* parameter validation in core/urb */
|
||||
usb_free_urb(dev->urb_ctl); /* parameter validation in core/urb */
|
||||
@ -683,13 +683,13 @@ static int cm109_usb_probe(struct usb_interface *intf,
|
||||
goto err_out;
|
||||
|
||||
/* allocate usb buffers */
|
||||
dev->irq_data = usb_buffer_alloc(udev, USB_PKT_LEN,
|
||||
GFP_KERNEL, &dev->irq_dma);
|
||||
dev->irq_data = usb_alloc_coherent(udev, USB_PKT_LEN,
|
||||
GFP_KERNEL, &dev->irq_dma);
|
||||
if (!dev->irq_data)
|
||||
goto err_out;
|
||||
|
||||
dev->ctl_data = usb_buffer_alloc(udev, USB_PKT_LEN,
|
||||
GFP_KERNEL, &dev->ctl_dma);
|
||||
dev->ctl_data = usb_alloc_coherent(udev, USB_PKT_LEN,
|
||||
GFP_KERNEL, &dev->ctl_dma);
|
||||
if (!dev->ctl_data)
|
||||
goto err_out;
|
||||
|
||||
|
@ -464,7 +464,7 @@ static int keyspan_probe(struct usb_interface *interface, const struct usb_devic
|
||||
remote->in_endpoint = endpoint;
|
||||
remote->toggle = -1; /* Set to -1 so we will always not match the toggle from the first remote message. */
|
||||
|
||||
remote->in_buffer = usb_buffer_alloc(udev, RECV_SIZE, GFP_ATOMIC, &remote->in_dma);
|
||||
remote->in_buffer = usb_alloc_coherent(udev, RECV_SIZE, GFP_ATOMIC, &remote->in_dma);
|
||||
if (!remote->in_buffer) {
|
||||
error = -ENOMEM;
|
||||
goto fail1;
|
||||
@ -543,7 +543,7 @@ static int keyspan_probe(struct usb_interface *interface, const struct usb_devic
|
||||
return 0;
|
||||
|
||||
fail3: usb_free_urb(remote->irq_urb);
|
||||
fail2: usb_buffer_free(udev, RECV_SIZE, remote->in_buffer, remote->in_dma);
|
||||
fail2: usb_free_coherent(udev, RECV_SIZE, remote->in_buffer, remote->in_dma);
|
||||
fail1: kfree(remote);
|
||||
input_free_device(input_dev);
|
||||
|
||||
@ -564,7 +564,7 @@ static void keyspan_disconnect(struct usb_interface *interface)
|
||||
input_unregister_device(remote->input);
|
||||
usb_kill_urb(remote->irq_urb);
|
||||
usb_free_urb(remote->irq_urb);
|
||||
usb_buffer_free(remote->udev, RECV_SIZE, remote->in_buffer, remote->in_dma);
|
||||
usb_free_coherent(remote->udev, RECV_SIZE, remote->in_buffer, remote->in_dma);
|
||||
kfree(remote);
|
||||
}
|
||||
}
|
||||
|
@ -273,8 +273,8 @@ static int powermate_input_event(struct input_dev *dev, unsigned int type, unsig
|
||||
|
||||
static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_device *pm)
|
||||
{
|
||||
pm->data = usb_buffer_alloc(udev, POWERMATE_PAYLOAD_SIZE_MAX,
|
||||
GFP_ATOMIC, &pm->data_dma);
|
||||
pm->data = usb_alloc_coherent(udev, POWERMATE_PAYLOAD_SIZE_MAX,
|
||||
GFP_ATOMIC, &pm->data_dma);
|
||||
if (!pm->data)
|
||||
return -1;
|
||||
|
||||
@ -287,8 +287,8 @@ static int powermate_alloc_buffers(struct usb_device *udev, struct powermate_dev
|
||||
|
||||
static void powermate_free_buffers(struct usb_device *udev, struct powermate_device *pm)
|
||||
{
|
||||
usb_buffer_free(udev, POWERMATE_PAYLOAD_SIZE_MAX,
|
||||
pm->data, pm->data_dma);
|
||||
usb_free_coherent(udev, POWERMATE_PAYLOAD_SIZE_MAX,
|
||||
pm->data, pm->data_dma);
|
||||
kfree(pm->configcr);
|
||||
}
|
||||
|
||||
|
@ -836,10 +836,8 @@ static int usb_cleanup(struct yealink_dev *yld, int err)
|
||||
usb_free_urb(yld->urb_ctl);
|
||||
|
||||
kfree(yld->ctl_req);
|
||||
usb_buffer_free(yld->udev, USB_PKT_LEN,
|
||||
yld->ctl_data, yld->ctl_dma);
|
||||
usb_buffer_free(yld->udev, USB_PKT_LEN,
|
||||
yld->irq_data, yld->irq_dma);
|
||||
usb_free_coherent(yld->udev, USB_PKT_LEN, yld->ctl_data, yld->ctl_dma);
|
||||
usb_free_coherent(yld->udev, USB_PKT_LEN, yld->irq_data, yld->irq_dma);
|
||||
|
||||
kfree(yld);
|
||||
return err;
|
||||
@ -884,13 +882,13 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id)
|
||||
return usb_cleanup(yld, -ENOMEM);
|
||||
|
||||
/* allocate usb buffers */
|
||||
yld->irq_data = usb_buffer_alloc(udev, USB_PKT_LEN,
|
||||
GFP_ATOMIC, &yld->irq_dma);
|
||||
yld->irq_data = usb_alloc_coherent(udev, USB_PKT_LEN,
|
||||
GFP_ATOMIC, &yld->irq_dma);
|
||||
if (yld->irq_data == NULL)
|
||||
return usb_cleanup(yld, -ENOMEM);
|
||||
|
||||
yld->ctl_data = usb_buffer_alloc(udev, USB_PKT_LEN,
|
||||
GFP_ATOMIC, &yld->ctl_dma);
|
||||
yld->ctl_data = usb_alloc_coherent(udev, USB_PKT_LEN,
|
||||
GFP_ATOMIC, &yld->ctl_dma);
|
||||
if (!yld->ctl_data)
|
||||
return usb_cleanup(yld, -ENOMEM);
|
||||
|
||||
|
@ -806,8 +806,8 @@ static int atp_probe(struct usb_interface *iface,
|
||||
if (!dev->urb)
|
||||
goto err_free_devs;
|
||||
|
||||
dev->data = usb_buffer_alloc(dev->udev, dev->info->datalen, GFP_KERNEL,
|
||||
&dev->urb->transfer_dma);
|
||||
dev->data = usb_alloc_coherent(dev->udev, dev->info->datalen, GFP_KERNEL,
|
||||
&dev->urb->transfer_dma);
|
||||
if (!dev->data)
|
||||
goto err_free_urb;
|
||||
|
||||
@ -862,8 +862,8 @@ static int atp_probe(struct usb_interface *iface,
|
||||
return 0;
|
||||
|
||||
err_free_buffer:
|
||||
usb_buffer_free(dev->udev, dev->info->datalen,
|
||||
dev->data, dev->urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, dev->info->datalen,
|
||||
dev->data, dev->urb->transfer_dma);
|
||||
err_free_urb:
|
||||
usb_free_urb(dev->urb);
|
||||
err_free_devs:
|
||||
@ -881,8 +881,8 @@ static void atp_disconnect(struct usb_interface *iface)
|
||||
if (dev) {
|
||||
usb_kill_urb(dev->urb);
|
||||
input_unregister_device(dev->input);
|
||||
usb_buffer_free(dev->udev, dev->info->datalen,
|
||||
dev->data, dev->urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, dev->info->datalen,
|
||||
dev->data, dev->urb->transfer_dma);
|
||||
usb_free_urb(dev->urb);
|
||||
kfree(dev);
|
||||
}
|
||||
|
@ -715,15 +715,15 @@ static int bcm5974_probe(struct usb_interface *iface,
|
||||
if (!dev->tp_urb)
|
||||
goto err_free_bt_urb;
|
||||
|
||||
dev->bt_data = usb_buffer_alloc(dev->udev,
|
||||
dev->cfg.bt_datalen, GFP_KERNEL,
|
||||
&dev->bt_urb->transfer_dma);
|
||||
dev->bt_data = usb_alloc_coherent(dev->udev,
|
||||
dev->cfg.bt_datalen, GFP_KERNEL,
|
||||
&dev->bt_urb->transfer_dma);
|
||||
if (!dev->bt_data)
|
||||
goto err_free_urb;
|
||||
|
||||
dev->tp_data = usb_buffer_alloc(dev->udev,
|
||||
dev->cfg.tp_datalen, GFP_KERNEL,
|
||||
&dev->tp_urb->transfer_dma);
|
||||
dev->tp_data = usb_alloc_coherent(dev->udev,
|
||||
dev->cfg.tp_datalen, GFP_KERNEL,
|
||||
&dev->tp_urb->transfer_dma);
|
||||
if (!dev->tp_data)
|
||||
goto err_free_bt_buffer;
|
||||
|
||||
@ -765,10 +765,10 @@ static int bcm5974_probe(struct usb_interface *iface,
|
||||
return 0;
|
||||
|
||||
err_free_buffer:
|
||||
usb_buffer_free(dev->udev, dev->cfg.tp_datalen,
|
||||
usb_free_coherent(dev->udev, dev->cfg.tp_datalen,
|
||||
dev->tp_data, dev->tp_urb->transfer_dma);
|
||||
err_free_bt_buffer:
|
||||
usb_buffer_free(dev->udev, dev->cfg.bt_datalen,
|
||||
usb_free_coherent(dev->udev, dev->cfg.bt_datalen,
|
||||
dev->bt_data, dev->bt_urb->transfer_dma);
|
||||
err_free_urb:
|
||||
usb_free_urb(dev->tp_urb);
|
||||
@ -788,10 +788,10 @@ static void bcm5974_disconnect(struct usb_interface *iface)
|
||||
usb_set_intfdata(iface, NULL);
|
||||
|
||||
input_unregister_device(dev->input);
|
||||
usb_buffer_free(dev->udev, dev->cfg.tp_datalen,
|
||||
dev->tp_data, dev->tp_urb->transfer_dma);
|
||||
usb_buffer_free(dev->udev, dev->cfg.bt_datalen,
|
||||
dev->bt_data, dev->bt_urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, dev->cfg.tp_datalen,
|
||||
dev->tp_data, dev->tp_urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, dev->cfg.bt_datalen,
|
||||
dev->bt_data, dev->bt_urb->transfer_dma);
|
||||
usb_free_urb(dev->tp_urb);
|
||||
usb_free_urb(dev->bt_urb);
|
||||
kfree(dev);
|
||||
|
@ -155,7 +155,7 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
|
||||
goto fail1;
|
||||
}
|
||||
|
||||
acecad->data = usb_buffer_alloc(dev, 8, GFP_KERNEL, &acecad->data_dma);
|
||||
acecad->data = usb_alloc_coherent(dev, 8, GFP_KERNEL, &acecad->data_dma);
|
||||
if (!acecad->data) {
|
||||
err= -ENOMEM;
|
||||
goto fail1;
|
||||
@ -241,7 +241,7 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
|
||||
|
||||
return 0;
|
||||
|
||||
fail2: usb_buffer_free(dev, 8, acecad->data, acecad->data_dma);
|
||||
fail2: usb_free_coherent(dev, 8, acecad->data, acecad->data_dma);
|
||||
fail1: input_free_device(input_dev);
|
||||
kfree(acecad);
|
||||
return err;
|
||||
@ -256,7 +256,7 @@ static void usb_acecad_disconnect(struct usb_interface *intf)
|
||||
usb_kill_urb(acecad->irq);
|
||||
input_unregister_device(acecad->input);
|
||||
usb_free_urb(acecad->irq);
|
||||
usb_buffer_free(interface_to_usbdev(intf), 10, acecad->data, acecad->data_dma);
|
||||
usb_free_coherent(interface_to_usbdev(intf), 10, acecad->data, acecad->data_dma);
|
||||
kfree(acecad);
|
||||
}
|
||||
}
|
||||
|
@ -1711,8 +1711,8 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)
|
||||
goto fail1;
|
||||
}
|
||||
|
||||
aiptek->data = usb_buffer_alloc(usbdev, AIPTEK_PACKET_LENGTH,
|
||||
GFP_ATOMIC, &aiptek->data_dma);
|
||||
aiptek->data = usb_alloc_coherent(usbdev, AIPTEK_PACKET_LENGTH,
|
||||
GFP_ATOMIC, &aiptek->data_dma);
|
||||
if (!aiptek->data) {
|
||||
dev_warn(&intf->dev, "cannot allocate usb buffer\n");
|
||||
goto fail1;
|
||||
@ -1884,8 +1884,8 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id)
|
||||
|
||||
fail4: sysfs_remove_group(&intf->dev.kobj, &aiptek_attribute_group);
|
||||
fail3: usb_free_urb(aiptek->urb);
|
||||
fail2: usb_buffer_free(usbdev, AIPTEK_PACKET_LENGTH, aiptek->data,
|
||||
aiptek->data_dma);
|
||||
fail2: usb_free_coherent(usbdev, AIPTEK_PACKET_LENGTH, aiptek->data,
|
||||
aiptek->data_dma);
|
||||
fail1: usb_set_intfdata(intf, NULL);
|
||||
input_free_device(inputdev);
|
||||
kfree(aiptek);
|
||||
@ -1909,9 +1909,9 @@ static void aiptek_disconnect(struct usb_interface *intf)
|
||||
input_unregister_device(aiptek->inputdev);
|
||||
sysfs_remove_group(&intf->dev.kobj, &aiptek_attribute_group);
|
||||
usb_free_urb(aiptek->urb);
|
||||
usb_buffer_free(interface_to_usbdev(intf),
|
||||
AIPTEK_PACKET_LENGTH,
|
||||
aiptek->data, aiptek->data_dma);
|
||||
usb_free_coherent(interface_to_usbdev(intf),
|
||||
AIPTEK_PACKET_LENGTH,
|
||||
aiptek->data, aiptek->data_dma);
|
||||
kfree(aiptek);
|
||||
}
|
||||
}
|
||||
|
@ -850,8 +850,8 @@ static int gtco_probe(struct usb_interface *usbinterface,
|
||||
gtco->usbdev = usb_get_dev(interface_to_usbdev(usbinterface));
|
||||
|
||||
/* Allocate some data for incoming reports */
|
||||
gtco->buffer = usb_buffer_alloc(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
GFP_KERNEL, >co->buf_dma);
|
||||
gtco->buffer = usb_alloc_coherent(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
GFP_KERNEL, >co->buf_dma);
|
||||
if (!gtco->buffer) {
|
||||
err("No more memory for us buffers");
|
||||
error = -ENOMEM;
|
||||
@ -982,8 +982,8 @@ static int gtco_probe(struct usb_interface *usbinterface,
|
||||
err_free_urb:
|
||||
usb_free_urb(gtco->urbinfo);
|
||||
err_free_buf:
|
||||
usb_buffer_free(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
gtco->buffer, gtco->buf_dma);
|
||||
usb_free_coherent(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
gtco->buffer, gtco->buf_dma);
|
||||
err_free_devs:
|
||||
input_free_device(input_dev);
|
||||
kfree(gtco);
|
||||
@ -1005,8 +1005,8 @@ static void gtco_disconnect(struct usb_interface *interface)
|
||||
input_unregister_device(gtco->inputdevice);
|
||||
usb_kill_urb(gtco->urbinfo);
|
||||
usb_free_urb(gtco->urbinfo);
|
||||
usb_buffer_free(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
gtco->buffer, gtco->buf_dma);
|
||||
usb_free_coherent(gtco->usbdev, REPORT_MAX_SIZE,
|
||||
gtco->buffer, gtco->buf_dma);
|
||||
kfree(gtco);
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,7 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
|
||||
if (!kbtab || !input_dev)
|
||||
goto fail1;
|
||||
|
||||
kbtab->data = usb_buffer_alloc(dev, 8, GFP_KERNEL, &kbtab->data_dma);
|
||||
kbtab->data = usb_alloc_coherent(dev, 8, GFP_KERNEL, &kbtab->data_dma);
|
||||
if (!kbtab->data)
|
||||
goto fail1;
|
||||
|
||||
@ -182,7 +182,7 @@ static int kbtab_probe(struct usb_interface *intf, const struct usb_device_id *i
|
||||
return 0;
|
||||
|
||||
fail3: usb_free_urb(kbtab->irq);
|
||||
fail2: usb_buffer_free(dev, 10, kbtab->data, kbtab->data_dma);
|
||||
fail2: usb_free_coherent(dev, 10, kbtab->data, kbtab->data_dma);
|
||||
fail1: input_free_device(input_dev);
|
||||
kfree(kbtab);
|
||||
return error;
|
||||
@ -197,7 +197,7 @@ static void kbtab_disconnect(struct usb_interface *intf)
|
||||
usb_kill_urb(kbtab->irq);
|
||||
input_unregister_device(kbtab->dev);
|
||||
usb_free_urb(kbtab->irq);
|
||||
usb_buffer_free(interface_to_usbdev(intf), 10, kbtab->data, kbtab->data_dma);
|
||||
usb_free_coherent(interface_to_usbdev(intf), 10, kbtab->data, kbtab->data_dma);
|
||||
kfree(kbtab);
|
||||
}
|
||||
}
|
||||
|
@ -556,8 +556,8 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
|
||||
goto fail1;
|
||||
}
|
||||
|
||||
wacom_wac->data = usb_buffer_alloc(dev, WACOM_PKGLEN_MAX,
|
||||
GFP_KERNEL, &wacom->data_dma);
|
||||
wacom_wac->data = usb_alloc_coherent(dev, WACOM_PKGLEN_MAX,
|
||||
GFP_KERNEL, &wacom->data_dma);
|
||||
if (!wacom_wac->data) {
|
||||
error = -ENOMEM;
|
||||
goto fail1;
|
||||
@ -633,7 +633,7 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
|
||||
return 0;
|
||||
|
||||
fail3: usb_free_urb(wacom->irq);
|
||||
fail2: usb_buffer_free(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma);
|
||||
fail2: usb_free_coherent(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma);
|
||||
fail1: input_free_device(input_dev);
|
||||
kfree(wacom);
|
||||
kfree(wacom_wac);
|
||||
@ -649,8 +649,8 @@ static void wacom_disconnect(struct usb_interface *intf)
|
||||
usb_kill_urb(wacom->irq);
|
||||
input_unregister_device(wacom->dev);
|
||||
usb_free_urb(wacom->irq);
|
||||
usb_buffer_free(interface_to_usbdev(intf), WACOM_PKGLEN_MAX,
|
||||
wacom->wacom_wac->data, wacom->data_dma);
|
||||
usb_free_coherent(interface_to_usbdev(intf), WACOM_PKGLEN_MAX,
|
||||
wacom->wacom_wac->data, wacom->data_dma);
|
||||
kfree(wacom->wacom_wac);
|
||||
kfree(wacom);
|
||||
}
|
||||
|
@ -1291,8 +1291,8 @@ static void usbtouch_close(struct input_dev *input)
|
||||
static void usbtouch_free_buffers(struct usb_device *udev,
|
||||
struct usbtouch_usb *usbtouch)
|
||||
{
|
||||
usb_buffer_free(udev, usbtouch->type->rept_size,
|
||||
usbtouch->data, usbtouch->data_dma);
|
||||
usb_free_coherent(udev, usbtouch->type->rept_size,
|
||||
usbtouch->data, usbtouch->data_dma);
|
||||
kfree(usbtouch->buffer);
|
||||
}
|
||||
|
||||
@ -1336,8 +1336,8 @@ static int usbtouch_probe(struct usb_interface *intf,
|
||||
if (!type->process_pkt)
|
||||
type->process_pkt = usbtouch_process_pkt;
|
||||
|
||||
usbtouch->data = usb_buffer_alloc(udev, type->rept_size,
|
||||
GFP_KERNEL, &usbtouch->data_dma);
|
||||
usbtouch->data = usb_alloc_coherent(udev, type->rept_size,
|
||||
GFP_KERNEL, &usbtouch->data_dma);
|
||||
if (!usbtouch->data)
|
||||
goto out_free;
|
||||
|
||||
|
@ -96,8 +96,9 @@ static int usb_free_stream_buffers(struct usb_data_stream *stream)
|
||||
while (stream->buf_num) {
|
||||
stream->buf_num--;
|
||||
deb_mem("freeing buffer %d\n",stream->buf_num);
|
||||
usb_buffer_free(stream->udev, stream->buf_size,
|
||||
stream->buf_list[stream->buf_num], stream->dma_addr[stream->buf_num]);
|
||||
usb_free_coherent(stream->udev, stream->buf_size,
|
||||
stream->buf_list[stream->buf_num],
|
||||
stream->dma_addr[stream->buf_num]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -116,7 +117,7 @@ static int usb_allocate_stream_buffers(struct usb_data_stream *stream, int num,
|
||||
for (stream->buf_num = 0; stream->buf_num < num; stream->buf_num++) {
|
||||
deb_mem("allocating buffer %d\n",stream->buf_num);
|
||||
if (( stream->buf_list[stream->buf_num] =
|
||||
usb_buffer_alloc(stream->udev, size, GFP_ATOMIC,
|
||||
usb_alloc_coherent(stream->udev, size, GFP_ATOMIC,
|
||||
&stream->dma_addr[stream->buf_num]) ) == NULL) {
|
||||
deb_mem("not enough memory for urb-buffer allocation.\n");
|
||||
usb_free_stream_buffers(stream);
|
||||
|
@ -1257,7 +1257,7 @@ static int ttusb_dec_init_usb(struct ttusb_dec *dec)
|
||||
if(!dec->irq_urb) {
|
||||
return -ENOMEM;
|
||||
}
|
||||
dec->irq_buffer = usb_buffer_alloc(dec->udev,IRQ_PACKET_SIZE,
|
||||
dec->irq_buffer = usb_alloc_coherent(dec->udev,IRQ_PACKET_SIZE,
|
||||
GFP_ATOMIC, &dec->irq_dma_handle);
|
||||
if(!dec->irq_buffer) {
|
||||
usb_free_urb(dec->irq_urb);
|
||||
@ -1550,8 +1550,8 @@ static void ttusb_dec_exit_rc(struct ttusb_dec *dec)
|
||||
|
||||
usb_free_urb(dec->irq_urb);
|
||||
|
||||
usb_buffer_free(dec->udev,IRQ_PACKET_SIZE,
|
||||
dec->irq_buffer, dec->irq_dma_handle);
|
||||
usb_free_coherent(dec->udev,IRQ_PACKET_SIZE,
|
||||
dec->irq_buffer, dec->irq_dma_handle);
|
||||
|
||||
if (dec->rc_input_dev) {
|
||||
input_unregister_device(dec->rc_input_dev);
|
||||
|
@ -177,7 +177,7 @@ void au0828_uninit_isoc(struct au0828_dev *dev)
|
||||
usb_unlink_urb(urb);
|
||||
|
||||
if (dev->isoc_ctl.transfer_buffer[i]) {
|
||||
usb_buffer_free(dev->usbdev,
|
||||
usb_free_coherent(dev->usbdev,
|
||||
urb->transfer_buffer_length,
|
||||
dev->isoc_ctl.transfer_buffer[i],
|
||||
urb->transfer_dma);
|
||||
@ -247,7 +247,7 @@ int au0828_init_isoc(struct au0828_dev *dev, int max_packets,
|
||||
}
|
||||
dev->isoc_ctl.urb[i] = urb;
|
||||
|
||||
dev->isoc_ctl.transfer_buffer[i] = usb_buffer_alloc(dev->usbdev,
|
||||
dev->isoc_ctl.transfer_buffer[i] = usb_alloc_coherent(dev->usbdev,
|
||||
sb_size, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!dev->isoc_ctl.transfer_buffer[i]) {
|
||||
printk("unable to allocate %i bytes for transfer"
|
||||
|
@ -679,11 +679,11 @@ void cx231xx_uninit_isoc(struct cx231xx *dev)
|
||||
usb_unlink_urb(urb);
|
||||
|
||||
if (dev->video_mode.isoc_ctl.transfer_buffer[i]) {
|
||||
usb_buffer_free(dev->udev,
|
||||
urb->transfer_buffer_length,
|
||||
dev->video_mode.isoc_ctl.
|
||||
transfer_buffer[i],
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev,
|
||||
urb->transfer_buffer_length,
|
||||
dev->video_mode.isoc_ctl.
|
||||
transfer_buffer[i],
|
||||
urb->transfer_dma);
|
||||
}
|
||||
usb_free_urb(urb);
|
||||
dev->video_mode.isoc_ctl.urb[i] = NULL;
|
||||
@ -770,8 +770,8 @@ int cx231xx_init_isoc(struct cx231xx *dev, int max_packets,
|
||||
dev->video_mode.isoc_ctl.urb[i] = urb;
|
||||
|
||||
dev->video_mode.isoc_ctl.transfer_buffer[i] =
|
||||
usb_buffer_alloc(dev->udev, sb_size, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
usb_alloc_coherent(dev->udev, sb_size, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!dev->video_mode.isoc_ctl.transfer_buffer[i]) {
|
||||
cx231xx_err("unable to allocate %i bytes for transfer"
|
||||
" buffer %i%s\n",
|
||||
|
@ -966,7 +966,7 @@ void em28xx_uninit_isoc(struct em28xx *dev)
|
||||
usb_unlink_urb(urb);
|
||||
|
||||
if (dev->isoc_ctl.transfer_buffer[i]) {
|
||||
usb_buffer_free(dev->udev,
|
||||
usb_free_coherent(dev->udev,
|
||||
urb->transfer_buffer_length,
|
||||
dev->isoc_ctl.transfer_buffer[i],
|
||||
urb->transfer_dma);
|
||||
@ -1041,7 +1041,7 @@ int em28xx_init_isoc(struct em28xx *dev, int max_packets,
|
||||
}
|
||||
dev->isoc_ctl.urb[i] = urb;
|
||||
|
||||
dev->isoc_ctl.transfer_buffer[i] = usb_buffer_alloc(dev->udev,
|
||||
dev->isoc_ctl.transfer_buffer[i] = usb_alloc_coherent(dev->udev,
|
||||
sb_size, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!dev->isoc_ctl.transfer_buffer[i]) {
|
||||
em28xx_err("unable to allocate %i bytes for transfer"
|
||||
|
@ -117,13 +117,13 @@ static int sd_start(struct gspca_dev *gspca_dev)
|
||||
return -ENOMEM;
|
||||
}
|
||||
gspca_dev->urb[n] = urb;
|
||||
urb->transfer_buffer = usb_buffer_alloc(gspca_dev->dev,
|
||||
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
|
||||
SD_PKT_SZ * SD_NPKT,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
|
||||
if (urb->transfer_buffer == NULL) {
|
||||
err("usb_buffer_alloc failed");
|
||||
err("usb_alloc_coherent failed");
|
||||
return -ENOMEM;
|
||||
}
|
||||
urb->dev = gspca_dev->dev;
|
||||
|
@ -213,7 +213,7 @@ static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev,
|
||||
goto error;
|
||||
}
|
||||
|
||||
buffer = usb_buffer_alloc(dev, ep->wMaxPacketSize,
|
||||
buffer = usb_alloc_coherent(dev, ep->wMaxPacketSize,
|
||||
GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!buffer) {
|
||||
ret = -ENOMEM;
|
||||
@ -232,10 +232,10 @@ static int alloc_and_submit_int_urb(struct gspca_dev *gspca_dev,
|
||||
return ret;
|
||||
|
||||
error_submit:
|
||||
usb_buffer_free(dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
error_buffer:
|
||||
usb_free_urb(urb);
|
||||
error:
|
||||
@ -272,10 +272,10 @@ static void gspca_input_destroy_urb(struct gspca_dev *gspca_dev)
|
||||
if (urb) {
|
||||
gspca_dev->int_urb = NULL;
|
||||
usb_kill_urb(urb);
|
||||
usb_buffer_free(gspca_dev->dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(gspca_dev->dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
}
|
||||
}
|
||||
@ -597,10 +597,10 @@ static void destroy_urbs(struct gspca_dev *gspca_dev)
|
||||
gspca_dev->urb[i] = NULL;
|
||||
usb_kill_urb(urb);
|
||||
if (urb->transfer_buffer != NULL)
|
||||
usb_buffer_free(gspca_dev->dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(gspca_dev->dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
}
|
||||
}
|
||||
@ -721,13 +721,13 @@ static int create_urbs(struct gspca_dev *gspca_dev,
|
||||
return -ENOMEM;
|
||||
}
|
||||
gspca_dev->urb[n] = urb;
|
||||
urb->transfer_buffer = usb_buffer_alloc(gspca_dev->dev,
|
||||
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
|
||||
bsize,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
|
||||
if (urb->transfer_buffer == NULL) {
|
||||
err("usb_buffer_alloc failed");
|
||||
err("usb_alloc_coherent failed");
|
||||
return -ENOMEM;
|
||||
}
|
||||
urb->dev = gspca_dev->dev;
|
||||
|
@ -92,8 +92,8 @@ static int hdpvr_free_queue(struct list_head *q)
|
||||
buf = list_entry(p, struct hdpvr_buffer, buff_list);
|
||||
|
||||
urb = buf->urb;
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
tmp = p->next;
|
||||
list_del(p);
|
||||
@ -143,8 +143,8 @@ int hdpvr_alloc_buffers(struct hdpvr_device *dev, uint count)
|
||||
}
|
||||
buf->urb = urb;
|
||||
|
||||
mem = usb_buffer_alloc(dev->udev, dev->bulk_in_size, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
mem = usb_alloc_coherent(dev->udev, dev->bulk_in_size, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!mem) {
|
||||
v4l2_err(&dev->v4l2_dev,
|
||||
"cannot allocate usb transfer buffer\n");
|
||||
|
@ -476,10 +476,10 @@ static int prepare_iso_urb(struct video_data *video)
|
||||
goto out;
|
||||
|
||||
video->urb_array[i] = urb;
|
||||
mem = usb_buffer_alloc(udev,
|
||||
ISO_PKT_SIZE * PK_PER_URB,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
mem = usb_alloc_coherent(udev,
|
||||
ISO_PKT_SIZE * PK_PER_URB,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
|
||||
urb->complete = urb_complete_iso; /* handler */
|
||||
urb->dev = udev;
|
||||
@ -519,8 +519,8 @@ int alloc_bulk_urbs_generic(struct urb **urb_array, int num,
|
||||
if (urb == NULL)
|
||||
return i;
|
||||
|
||||
mem = usb_buffer_alloc(udev, buf_size, gfp_flags,
|
||||
&urb->transfer_dma);
|
||||
mem = usb_alloc_coherent(udev, buf_size, gfp_flags,
|
||||
&urb->transfer_dma);
|
||||
if (mem == NULL)
|
||||
return i;
|
||||
|
||||
@ -540,7 +540,7 @@ void free_all_urb_generic(struct urb **urb_array, int num)
|
||||
for (i = 0; i < num; i++) {
|
||||
urb = urb_array[i];
|
||||
if (urb) {
|
||||
usb_buffer_free(urb->dev,
|
||||
usb_free_coherent(urb->dev,
|
||||
urb->transfer_buffer_length,
|
||||
urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
|
@ -2493,10 +2493,10 @@ int usbvision_init_isoc(struct usb_usbvision *usbvision)
|
||||
}
|
||||
usbvision->sbuf[bufIdx].urb = urb;
|
||||
usbvision->sbuf[bufIdx].data =
|
||||
usb_buffer_alloc(usbvision->dev,
|
||||
sb_size,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
usb_alloc_coherent(usbvision->dev,
|
||||
sb_size,
|
||||
GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
urb->dev = dev;
|
||||
urb->context = usbvision;
|
||||
urb->pipe = usb_rcvisocpipe(dev, usbvision->video_endp);
|
||||
@ -2552,10 +2552,10 @@ void usbvision_stop_isoc(struct usb_usbvision *usbvision)
|
||||
for (bufIdx = 0; bufIdx < USBVISION_NUMSBUF; bufIdx++) {
|
||||
usb_kill_urb(usbvision->sbuf[bufIdx].urb);
|
||||
if (usbvision->sbuf[bufIdx].data){
|
||||
usb_buffer_free(usbvision->dev,
|
||||
sb_size,
|
||||
usbvision->sbuf[bufIdx].data,
|
||||
usbvision->sbuf[bufIdx].urb->transfer_dma);
|
||||
usb_free_coherent(usbvision->dev,
|
||||
sb_size,
|
||||
usbvision->sbuf[bufIdx].data,
|
||||
usbvision->sbuf[bufIdx].urb->transfer_dma);
|
||||
}
|
||||
usb_free_urb(usbvision->sbuf[bufIdx].urb);
|
||||
usbvision->sbuf[bufIdx].urb = NULL;
|
||||
|
@ -739,7 +739,7 @@ static void uvc_free_urb_buffers(struct uvc_streaming *stream)
|
||||
|
||||
for (i = 0; i < UVC_URBS; ++i) {
|
||||
if (stream->urb_buffer[i]) {
|
||||
usb_buffer_free(stream->dev->udev, stream->urb_size,
|
||||
usb_free_coherent(stream->dev->udev, stream->urb_size,
|
||||
stream->urb_buffer[i], stream->urb_dma[i]);
|
||||
stream->urb_buffer[i] = NULL;
|
||||
}
|
||||
@ -780,7 +780,7 @@ static int uvc_alloc_urb_buffers(struct uvc_streaming *stream,
|
||||
for (; npackets > 1; npackets /= 2) {
|
||||
for (i = 0; i < UVC_URBS; ++i) {
|
||||
stream->urb_size = psize * npackets;
|
||||
stream->urb_buffer[i] = usb_buffer_alloc(
|
||||
stream->urb_buffer[i] = usb_alloc_coherent(
|
||||
stream->dev->udev, stream->urb_size,
|
||||
gfp_flags | __GFP_NOWARN, &stream->urb_dma[i]);
|
||||
if (!stream->urb_buffer[i]) {
|
||||
|
@ -516,8 +516,8 @@ static void ems_usb_write_bulk_callback(struct urb *urb)
|
||||
netdev = dev->netdev;
|
||||
|
||||
/* free up our allocated buffer */
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
|
||||
atomic_dec(&dev->active_tx_urbs);
|
||||
|
||||
@ -614,8 +614,8 @@ static int ems_usb_start(struct ems_usb *dev)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
buf = usb_buffer_alloc(dev->udev, RX_BUFFER_SIZE, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(dev->udev, RX_BUFFER_SIZE, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!buf) {
|
||||
dev_err(netdev->dev.parent,
|
||||
"No memory left for USB buffer\n");
|
||||
@ -635,8 +635,8 @@ static int ems_usb_start(struct ems_usb *dev)
|
||||
netif_device_detach(dev->netdev);
|
||||
|
||||
usb_unanchor_urb(urb);
|
||||
usb_buffer_free(dev->udev, RX_BUFFER_SIZE, buf,
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, RX_BUFFER_SIZE, buf,
|
||||
urb->transfer_dma);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -777,7 +777,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne
|
||||
goto nomem;
|
||||
}
|
||||
|
||||
buf = usb_buffer_alloc(dev->udev, size, GFP_ATOMIC, &urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(dev->udev, size, GFP_ATOMIC, &urb->transfer_dma);
|
||||
if (!buf) {
|
||||
dev_err(netdev->dev.parent, "No memory left for USB buffer\n");
|
||||
usb_free_urb(urb);
|
||||
@ -820,7 +820,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne
|
||||
*/
|
||||
if (!context) {
|
||||
usb_unanchor_urb(urb);
|
||||
usb_buffer_free(dev->udev, size, buf, urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);
|
||||
|
||||
dev_warn(netdev->dev.parent, "couldn't find free context\n");
|
||||
|
||||
@ -845,7 +845,7 @@ static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb, struct net_device *ne
|
||||
can_free_echo_skb(netdev, context->echo_index);
|
||||
|
||||
usb_unanchor_urb(urb);
|
||||
usb_buffer_free(dev->udev, size, buf, urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, size, buf, urb->transfer_dma);
|
||||
dev_kfree_skb(skb);
|
||||
|
||||
atomic_dec(&dev->active_tx_urbs);
|
||||
|
@ -128,17 +128,13 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)
|
||||
if (rx_urb == NULL)
|
||||
goto free_tx_urb;
|
||||
|
||||
tx_buf = usb_buffer_alloc(iphone->udev,
|
||||
IPHETH_BUF_SIZE,
|
||||
GFP_KERNEL,
|
||||
&tx_urb->transfer_dma);
|
||||
tx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE,
|
||||
GFP_KERNEL, &tx_urb->transfer_dma);
|
||||
if (tx_buf == NULL)
|
||||
goto free_rx_urb;
|
||||
|
||||
rx_buf = usb_buffer_alloc(iphone->udev,
|
||||
IPHETH_BUF_SIZE,
|
||||
GFP_KERNEL,
|
||||
&rx_urb->transfer_dma);
|
||||
rx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE,
|
||||
GFP_KERNEL, &rx_urb->transfer_dma);
|
||||
if (rx_buf == NULL)
|
||||
goto free_tx_buf;
|
||||
|
||||
@ -150,8 +146,8 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)
|
||||
return 0;
|
||||
|
||||
free_tx_buf:
|
||||
usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, tx_buf,
|
||||
tx_urb->transfer_dma);
|
||||
usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, tx_buf,
|
||||
tx_urb->transfer_dma);
|
||||
free_rx_urb:
|
||||
usb_free_urb(rx_urb);
|
||||
free_tx_urb:
|
||||
@ -162,10 +158,10 @@ error_nomem:
|
||||
|
||||
static void ipheth_free_urbs(struct ipheth_device *iphone)
|
||||
{
|
||||
usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf,
|
||||
iphone->rx_urb->transfer_dma);
|
||||
usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf,
|
||||
iphone->tx_urb->transfer_dma);
|
||||
usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf,
|
||||
iphone->rx_urb->transfer_dma);
|
||||
usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf,
|
||||
iphone->tx_urb->transfer_dma);
|
||||
usb_free_urb(iphone->rx_urb);
|
||||
usb_free_urb(iphone->tx_urb);
|
||||
}
|
||||
|
@ -1156,13 +1156,13 @@ err_fw:
|
||||
if (!kaweth->irq_urb)
|
||||
goto err_tx_and_rx;
|
||||
|
||||
kaweth->intbuffer = usb_buffer_alloc( kaweth->dev,
|
||||
kaweth->intbuffer = usb_alloc_coherent( kaweth->dev,
|
||||
INTBUFFERSIZE,
|
||||
GFP_KERNEL,
|
||||
&kaweth->intbufferhandle);
|
||||
if (!kaweth->intbuffer)
|
||||
goto err_tx_and_rx_and_irq;
|
||||
kaweth->rx_buf = usb_buffer_alloc( kaweth->dev,
|
||||
kaweth->rx_buf = usb_alloc_coherent( kaweth->dev,
|
||||
KAWETH_BUF_SIZE,
|
||||
GFP_KERNEL,
|
||||
&kaweth->rxbufferhandle);
|
||||
@ -1203,9 +1203,9 @@ err_fw:
|
||||
|
||||
err_intfdata:
|
||||
usb_set_intfdata(intf, NULL);
|
||||
usb_buffer_free(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle);
|
||||
usb_free_coherent(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle);
|
||||
err_all_but_rxbuf:
|
||||
usb_buffer_free(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);
|
||||
usb_free_coherent(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);
|
||||
err_tx_and_rx_and_irq:
|
||||
usb_free_urb(kaweth->irq_urb);
|
||||
err_tx_and_rx:
|
||||
@ -1242,8 +1242,8 @@ static void kaweth_disconnect(struct usb_interface *intf)
|
||||
usb_free_urb(kaweth->tx_urb);
|
||||
usb_free_urb(kaweth->irq_urb);
|
||||
|
||||
usb_buffer_free(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle);
|
||||
usb_buffer_free(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);
|
||||
usb_free_coherent(kaweth->dev, KAWETH_BUF_SIZE, (void *)kaweth->rx_buf, kaweth->rxbufferhandle);
|
||||
usb_free_coherent(kaweth->dev, INTBUFFERSIZE, (void *)kaweth->intbuffer, kaweth->intbufferhandle);
|
||||
|
||||
free_netdev(netdev);
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ resubmit:
|
||||
return;
|
||||
|
||||
free:
|
||||
usb_buffer_free(aru->udev, 64, urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(aru->udev, 64, urb->transfer_buffer, urb->transfer_dma);
|
||||
}
|
||||
|
||||
static void ar9170_usb_rx_completed(struct urb *urb)
|
||||
@ -283,7 +283,7 @@ static int ar9170_usb_alloc_rx_irq_urb(struct ar9170_usb *aru)
|
||||
if (!urb)
|
||||
goto out;
|
||||
|
||||
ibuf = usb_buffer_alloc(aru->udev, 64, GFP_KERNEL, &urb->transfer_dma);
|
||||
ibuf = usb_alloc_coherent(aru->udev, 64, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!ibuf)
|
||||
goto out;
|
||||
|
||||
@ -296,8 +296,8 @@ static int ar9170_usb_alloc_rx_irq_urb(struct ar9170_usb *aru)
|
||||
err = usb_submit_urb(urb, GFP_KERNEL);
|
||||
if (err) {
|
||||
usb_unanchor_urb(urb);
|
||||
usb_buffer_free(aru->udev, 64, urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
usb_free_coherent(aru->udev, 64, urb->transfer_buffer,
|
||||
urb->transfer_dma);
|
||||
}
|
||||
|
||||
out:
|
||||
|
@ -664,15 +664,15 @@ static struct urb *alloc_rx_urb(struct zd_usb *usb)
|
||||
urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!urb)
|
||||
return NULL;
|
||||
buffer = usb_buffer_alloc(udev, USB_MAX_RX_SIZE, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
buffer = usb_alloc_coherent(udev, USB_MAX_RX_SIZE, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!buffer) {
|
||||
usb_free_urb(urb);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
usb_fill_bulk_urb(urb, udev, usb_rcvbulkpipe(udev, EP_DATA_IN),
|
||||
buffer, USB_MAX_RX_SIZE,
|
||||
buffer, USB_MAX_RX_SIZE,
|
||||
rx_urb_complete, usb);
|
||||
urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
|
||||
|
||||
@ -683,8 +683,8 @@ static void free_rx_urb(struct urb *urb)
|
||||
{
|
||||
if (!urb)
|
||||
return;
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
}
|
||||
|
||||
|
@ -892,7 +892,7 @@ static void acm_write_buffers_free(struct acm *acm)
|
||||
struct usb_device *usb_dev = interface_to_usbdev(acm->control);
|
||||
|
||||
for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++)
|
||||
usb_buffer_free(usb_dev, acm->writesize, wb->buf, wb->dmah);
|
||||
usb_free_coherent(usb_dev, acm->writesize, wb->buf, wb->dmah);
|
||||
}
|
||||
|
||||
static void acm_read_buffers_free(struct acm *acm)
|
||||
@ -901,8 +901,8 @@ static void acm_read_buffers_free(struct acm *acm)
|
||||
int i, n = acm->rx_buflimit;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
usb_buffer_free(usb_dev, acm->readsize,
|
||||
acm->rb[i].base, acm->rb[i].dma);
|
||||
usb_free_coherent(usb_dev, acm->readsize,
|
||||
acm->rb[i].base, acm->rb[i].dma);
|
||||
}
|
||||
|
||||
/* Little helper: write buffers allocate */
|
||||
@ -912,13 +912,13 @@ static int acm_write_buffers_alloc(struct acm *acm)
|
||||
struct acm_wb *wb;
|
||||
|
||||
for (wb = &acm->wb[0], i = 0; i < ACM_NW; i++, wb++) {
|
||||
wb->buf = usb_buffer_alloc(acm->dev, acm->writesize, GFP_KERNEL,
|
||||
wb->buf = usb_alloc_coherent(acm->dev, acm->writesize, GFP_KERNEL,
|
||||
&wb->dmah);
|
||||
if (!wb->buf) {
|
||||
while (i != 0) {
|
||||
--i;
|
||||
--wb;
|
||||
usb_buffer_free(acm->dev, acm->writesize,
|
||||
usb_free_coherent(acm->dev, acm->writesize,
|
||||
wb->buf, wb->dmah);
|
||||
}
|
||||
return -ENOMEM;
|
||||
@ -1177,7 +1177,7 @@ made_compressed_probe:
|
||||
tty_port_init(&acm->port);
|
||||
acm->port.ops = &acm_port_ops;
|
||||
|
||||
buf = usb_buffer_alloc(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma);
|
||||
buf = usb_alloc_coherent(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma);
|
||||
if (!buf) {
|
||||
dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)\n");
|
||||
goto alloc_fail2;
|
||||
@ -1210,11 +1210,11 @@ made_compressed_probe:
|
||||
for (i = 0; i < num_rx_buf; i++) {
|
||||
struct acm_rb *rb = &(acm->rb[i]);
|
||||
|
||||
rb->base = usb_buffer_alloc(acm->dev, readsize,
|
||||
rb->base = usb_alloc_coherent(acm->dev, readsize,
|
||||
GFP_KERNEL, &rb->dma);
|
||||
if (!rb->base) {
|
||||
dev_dbg(&intf->dev,
|
||||
"out of memory (read bufs usb_buffer_alloc)\n");
|
||||
"out of memory (read bufs usb_alloc_coherent)\n");
|
||||
goto alloc_fail7;
|
||||
}
|
||||
}
|
||||
@ -1306,7 +1306,7 @@ alloc_fail7:
|
||||
alloc_fail5:
|
||||
acm_write_buffers_free(acm);
|
||||
alloc_fail4:
|
||||
usb_buffer_free(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma);
|
||||
usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma);
|
||||
alloc_fail2:
|
||||
kfree(acm);
|
||||
alloc_fail:
|
||||
@ -1356,8 +1356,8 @@ static void acm_disconnect(struct usb_interface *intf)
|
||||
stop_data_traffic(acm);
|
||||
|
||||
acm_write_buffers_free(acm);
|
||||
usb_buffer_free(usb_dev, acm->ctrlsize, acm->ctrl_buffer,
|
||||
acm->ctrl_dma);
|
||||
usb_free_coherent(usb_dev, acm->ctrlsize, acm->ctrl_buffer,
|
||||
acm->ctrl_dma);
|
||||
acm_read_buffers_free(acm);
|
||||
|
||||
if (!acm->combined_interfaces)
|
||||
|
@ -276,14 +276,14 @@ static void free_urbs(struct wdm_device *desc)
|
||||
|
||||
static void cleanup(struct wdm_device *desc)
|
||||
{
|
||||
usb_buffer_free(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxPacketSize,
|
||||
desc->sbuf,
|
||||
desc->validity->transfer_dma);
|
||||
usb_buffer_free(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxCommand,
|
||||
desc->inbuf,
|
||||
desc->response->transfer_dma);
|
||||
usb_free_coherent(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxPacketSize,
|
||||
desc->sbuf,
|
||||
desc->validity->transfer_dma);
|
||||
usb_free_coherent(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxCommand,
|
||||
desc->inbuf,
|
||||
desc->response->transfer_dma);
|
||||
kfree(desc->orq);
|
||||
kfree(desc->irq);
|
||||
kfree(desc->ubuf);
|
||||
@ -705,17 +705,17 @@ next_desc:
|
||||
if (!desc->ubuf)
|
||||
goto err;
|
||||
|
||||
desc->sbuf = usb_buffer_alloc(interface_to_usbdev(intf),
|
||||
desc->sbuf = usb_alloc_coherent(interface_to_usbdev(intf),
|
||||
desc->wMaxPacketSize,
|
||||
GFP_KERNEL,
|
||||
&desc->validity->transfer_dma);
|
||||
if (!desc->sbuf)
|
||||
goto err;
|
||||
|
||||
desc->inbuf = usb_buffer_alloc(interface_to_usbdev(intf),
|
||||
desc->bMaxPacketSize0,
|
||||
GFP_KERNEL,
|
||||
&desc->response->transfer_dma);
|
||||
desc->inbuf = usb_alloc_coherent(interface_to_usbdev(intf),
|
||||
desc->bMaxPacketSize0,
|
||||
GFP_KERNEL,
|
||||
&desc->response->transfer_dma);
|
||||
if (!desc->inbuf)
|
||||
goto err2;
|
||||
|
||||
@ -742,15 +742,15 @@ out:
|
||||
return rv;
|
||||
err3:
|
||||
usb_set_intfdata(intf, NULL);
|
||||
usb_buffer_free(interface_to_usbdev(desc->intf),
|
||||
desc->bMaxPacketSize0,
|
||||
usb_free_coherent(interface_to_usbdev(desc->intf),
|
||||
desc->bMaxPacketSize0,
|
||||
desc->inbuf,
|
||||
desc->response->transfer_dma);
|
||||
err2:
|
||||
usb_buffer_free(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxPacketSize,
|
||||
desc->sbuf,
|
||||
desc->validity->transfer_dma);
|
||||
usb_free_coherent(interface_to_usbdev(desc->intf),
|
||||
desc->wMaxPacketSize,
|
||||
desc->sbuf,
|
||||
desc->validity->transfer_dma);
|
||||
err:
|
||||
free_urbs(desc);
|
||||
kfree(desc->ubuf);
|
||||
|
@ -27,7 +27,7 @@
|
||||
* v0.11 - add proto_bias option (Pete Zaitcev)
|
||||
* v0.12 - add hpoj.sourceforge.net ioctls (David Paschal)
|
||||
* v0.13 - alloc space for statusbuf (<status> not on stack);
|
||||
* use usb_buffer_alloc() for read buf & write buf;
|
||||
* use usb_alloc_coherent() for read buf & write buf;
|
||||
* none - Maintained in Linux kernel after v0.13
|
||||
*/
|
||||
|
||||
|
@ -259,7 +259,7 @@ static int appledisplay_probe(struct usb_interface *iface,
|
||||
}
|
||||
|
||||
/* Allocate buffer for interrupt data */
|
||||
pdata->urbdata = usb_buffer_alloc(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
pdata->urbdata = usb_alloc_coherent(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
GFP_KERNEL, &pdata->urb->transfer_dma);
|
||||
if (!pdata->urbdata) {
|
||||
retval = -ENOMEM;
|
||||
@ -316,7 +316,7 @@ error:
|
||||
if (pdata->urb) {
|
||||
usb_kill_urb(pdata->urb);
|
||||
if (pdata->urbdata)
|
||||
usb_buffer_free(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
usb_free_coherent(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
pdata->urbdata, pdata->urb->transfer_dma);
|
||||
usb_free_urb(pdata->urb);
|
||||
}
|
||||
@ -337,7 +337,7 @@ static void appledisplay_disconnect(struct usb_interface *iface)
|
||||
usb_kill_urb(pdata->urb);
|
||||
cancel_delayed_work(&pdata->work);
|
||||
backlight_device_unregister(pdata->bd);
|
||||
usb_buffer_free(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
usb_free_coherent(pdata->udev, ACD_URB_BUFFER_LEN,
|
||||
pdata->urbdata, pdata->urb->transfer_dma);
|
||||
usb_free_urb(pdata->urb);
|
||||
kfree(pdata->msgdata);
|
||||
|
@ -734,7 +734,7 @@ static void ftdi_elan_write_bulk_callback(struct urb *urb)
|
||||
dev_err(&ftdi->udev->dev, "urb=%p write bulk status received: %"
|
||||
"d\n", urb, status);
|
||||
}
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
}
|
||||
|
||||
@ -795,7 +795,7 @@ static int ftdi_elan_command_engine(struct usb_ftdi *ftdi)
|
||||
total_size);
|
||||
return -ENOMEM;
|
||||
}
|
||||
buf = usb_buffer_alloc(ftdi->udev, total_size, GFP_KERNEL,
|
||||
buf = usb_alloc_coherent(ftdi->udev, total_size, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!buf) {
|
||||
dev_err(&ftdi->udev->dev, "could not get a buffer to write %d c"
|
||||
@ -829,7 +829,7 @@ static int ftdi_elan_command_engine(struct usb_ftdi *ftdi)
|
||||
dev_err(&ftdi->udev->dev, "failed %d to submit urb %p to write "
|
||||
"%d commands totaling %d bytes to the Uxxx\n", retval,
|
||||
urb, command_size, total_size);
|
||||
usb_buffer_free(ftdi->udev, total_size, buf, urb->transfer_dma);
|
||||
usb_free_coherent(ftdi->udev, total_size, buf, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
return retval;
|
||||
}
|
||||
@ -1167,7 +1167,7 @@ static ssize_t ftdi_elan_write(struct file *file,
|
||||
retval = -ENOMEM;
|
||||
goto error_1;
|
||||
}
|
||||
buf = usb_buffer_alloc(ftdi->udev, count, GFP_KERNEL,
|
||||
buf = usb_alloc_coherent(ftdi->udev, count, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!buf) {
|
||||
retval = -ENOMEM;
|
||||
@ -1192,7 +1192,7 @@ static ssize_t ftdi_elan_write(struct file *file,
|
||||
exit:
|
||||
return count;
|
||||
error_3:
|
||||
usb_buffer_free(ftdi->udev, count, buf, urb->transfer_dma);
|
||||
usb_free_coherent(ftdi->udev, count, buf, urb->transfer_dma);
|
||||
error_2:
|
||||
usb_free_urb(urb);
|
||||
error_1:
|
||||
@ -1968,7 +1968,7 @@ static int ftdi_elan_synchronize_flush(struct usb_ftdi *ftdi)
|
||||
"ence\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
buf = usb_buffer_alloc(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!buf) {
|
||||
dev_err(&ftdi->udev->dev, "could not get a buffer for flush seq"
|
||||
"uence\n");
|
||||
@ -1985,7 +1985,7 @@ static int ftdi_elan_synchronize_flush(struct usb_ftdi *ftdi)
|
||||
if (retval) {
|
||||
dev_err(&ftdi->udev->dev, "failed to submit urb containing the "
|
||||
"flush sequence\n");
|
||||
usb_buffer_free(ftdi->udev, i, buf, urb->transfer_dma);
|
||||
usb_free_coherent(ftdi->udev, i, buf, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -2011,7 +2011,7 @@ static int ftdi_elan_synchronize_reset(struct usb_ftdi *ftdi)
|
||||
"quence\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
buf = usb_buffer_alloc(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(ftdi->udev, I, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!buf) {
|
||||
dev_err(&ftdi->udev->dev, "could not get a buffer for the reset"
|
||||
" sequence\n");
|
||||
@ -2030,7 +2030,7 @@ static int ftdi_elan_synchronize_reset(struct usb_ftdi *ftdi)
|
||||
if (retval) {
|
||||
dev_err(&ftdi->udev->dev, "failed to submit urb containing the "
|
||||
"reset sequence\n");
|
||||
usb_buffer_free(ftdi->udev, i, buf, urb->transfer_dma);
|
||||
usb_free_coherent(ftdi->udev, i, buf, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -239,8 +239,8 @@ static void iowarrior_write_callback(struct urb *urb)
|
||||
__func__, status);
|
||||
}
|
||||
/* free up our allocated buffer */
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
/* tell a waiting writer the interrupt-out-pipe is available again */
|
||||
atomic_dec(&dev->write_busy);
|
||||
wake_up_interruptible(&dev->write_wait);
|
||||
@ -421,8 +421,8 @@ static ssize_t iowarrior_write(struct file *file,
|
||||
dbg("%s Unable to allocate urb ", __func__);
|
||||
goto error_no_urb;
|
||||
}
|
||||
buf = usb_buffer_alloc(dev->udev, dev->report_size,
|
||||
GFP_KERNEL, &int_out_urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(dev->udev, dev->report_size,
|
||||
GFP_KERNEL, &int_out_urb->transfer_dma);
|
||||
if (!buf) {
|
||||
retval = -ENOMEM;
|
||||
dbg("%s Unable to allocate buffer ", __func__);
|
||||
@ -459,8 +459,8 @@ static ssize_t iowarrior_write(struct file *file,
|
||||
break;
|
||||
}
|
||||
error:
|
||||
usb_buffer_free(dev->udev, dev->report_size, buf,
|
||||
int_out_urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, dev->report_size, buf,
|
||||
int_out_urb->transfer_dma);
|
||||
error_no_buffer:
|
||||
usb_free_urb(int_out_urb);
|
||||
error_no_urb:
|
||||
|
@ -205,8 +205,8 @@ static void lcd_write_bulk_callback(struct urb *urb)
|
||||
}
|
||||
|
||||
/* free up our allocated buffer */
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
up(&dev->limit_sem);
|
||||
}
|
||||
|
||||
@ -234,7 +234,7 @@ static ssize_t lcd_write(struct file *file, const char __user * user_buffer, siz
|
||||
goto err_no_buf;
|
||||
}
|
||||
|
||||
buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(dev->udev, count, GFP_KERNEL, &urb->transfer_dma);
|
||||
if (!buf) {
|
||||
retval = -ENOMEM;
|
||||
goto error;
|
||||
@ -268,7 +268,7 @@ exit:
|
||||
error_unanchor:
|
||||
usb_unanchor_urb(urb);
|
||||
error:
|
||||
usb_buffer_free(dev->udev, count, buf, urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, count, buf, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
err_no_buf:
|
||||
up(&dev->limit_sem);
|
||||
|
@ -202,7 +202,7 @@ static struct urb *simple_alloc_urb (
|
||||
urb->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
|
||||
if (usb_pipein (pipe))
|
||||
urb->transfer_flags |= URB_SHORT_NOT_OK;
|
||||
urb->transfer_buffer = usb_buffer_alloc (udev, bytes, GFP_KERNEL,
|
||||
urb->transfer_buffer = usb_alloc_coherent (udev, bytes, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!urb->transfer_buffer) {
|
||||
usb_free_urb (urb);
|
||||
@ -272,8 +272,8 @@ static inline int simple_check_buf(struct usbtest_dev *tdev, struct urb *urb)
|
||||
|
||||
static void simple_free_urb (struct urb *urb)
|
||||
{
|
||||
usb_buffer_free (urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_urb (urb);
|
||||
}
|
||||
|
||||
@ -1416,7 +1416,7 @@ static struct urb *iso_alloc_urb (
|
||||
|
||||
urb->number_of_packets = packets;
|
||||
urb->transfer_buffer_length = bytes;
|
||||
urb->transfer_buffer = usb_buffer_alloc (udev, bytes, GFP_KERNEL,
|
||||
urb->transfer_buffer = usb_alloc_coherent (udev, bytes, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!urb->transfer_buffer) {
|
||||
usb_free_urb (urb);
|
||||
|
@ -201,8 +201,8 @@ static int onetouch_connect_input(struct us_data *ss)
|
||||
if (!onetouch || !input_dev)
|
||||
goto fail1;
|
||||
|
||||
onetouch->data = usb_buffer_alloc(udev, ONETOUCH_PKT_LEN,
|
||||
GFP_KERNEL, &onetouch->data_dma);
|
||||
onetouch->data = usb_alloc_coherent(udev, ONETOUCH_PKT_LEN,
|
||||
GFP_KERNEL, &onetouch->data_dma);
|
||||
if (!onetouch->data)
|
||||
goto fail1;
|
||||
|
||||
@ -264,8 +264,8 @@ static int onetouch_connect_input(struct us_data *ss)
|
||||
return 0;
|
||||
|
||||
fail3: usb_free_urb(onetouch->irq);
|
||||
fail2: usb_buffer_free(udev, ONETOUCH_PKT_LEN,
|
||||
onetouch->data, onetouch->data_dma);
|
||||
fail2: usb_free_coherent(udev, ONETOUCH_PKT_LEN,
|
||||
onetouch->data, onetouch->data_dma);
|
||||
fail1: kfree(onetouch);
|
||||
input_free_device(input_dev);
|
||||
return error;
|
||||
@ -279,8 +279,8 @@ static void onetouch_release_input(void *onetouch_)
|
||||
usb_kill_urb(onetouch->irq);
|
||||
input_unregister_device(onetouch->dev);
|
||||
usb_free_urb(onetouch->irq);
|
||||
usb_buffer_free(onetouch->udev, ONETOUCH_PKT_LEN,
|
||||
onetouch->data, onetouch->data_dma);
|
||||
usb_free_coherent(onetouch->udev, ONETOUCH_PKT_LEN,
|
||||
onetouch->data, onetouch->data_dma);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -414,7 +414,7 @@ static int associate_dev(struct us_data *us, struct usb_interface *intf)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
us->iobuf = usb_buffer_alloc(us->pusb_dev, US_IOBUF_SIZE,
|
||||
us->iobuf = usb_alloc_coherent(us->pusb_dev, US_IOBUF_SIZE,
|
||||
GFP_KERNEL, &us->iobuf_dma);
|
||||
if (!us->iobuf) {
|
||||
US_DEBUGP("I/O buffer allocation failed\n");
|
||||
@ -758,7 +758,7 @@ static void dissociate_dev(struct us_data *us)
|
||||
|
||||
/* Free the buffers */
|
||||
kfree(us->cr);
|
||||
usb_buffer_free(us->pusb_dev, US_IOBUF_SIZE, us->iobuf, us->iobuf_dma);
|
||||
usb_free_coherent(us->pusb_dev, US_IOBUF_SIZE, us->iobuf, us->iobuf_dma);
|
||||
|
||||
/* Remove our private data from the interface */
|
||||
usb_set_intfdata(us->pusb_intf, NULL);
|
||||
|
@ -387,8 +387,8 @@ static void skel_write_bulk_callback(struct urb *urb)
|
||||
}
|
||||
|
||||
/* free up our allocated buffer */
|
||||
usb_buffer_free(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(urb->dev, urb->transfer_buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
up(&dev->limit_sem);
|
||||
}
|
||||
|
||||
@ -442,8 +442,8 @@ static ssize_t skel_write(struct file *file, const char *user_buffer,
|
||||
goto error;
|
||||
}
|
||||
|
||||
buf = usb_buffer_alloc(dev->udev, writesize, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
buf = usb_alloc_coherent(dev->udev, writesize, GFP_KERNEL,
|
||||
&urb->transfer_dma);
|
||||
if (!buf) {
|
||||
retval = -ENOMEM;
|
||||
goto error;
|
||||
@ -491,7 +491,7 @@ error_unanchor:
|
||||
usb_unanchor_urb(urb);
|
||||
error:
|
||||
if (urb) {
|
||||
usb_buffer_free(dev->udev, writesize, buf, urb->transfer_dma);
|
||||
usb_free_coherent(dev->udev, writesize, buf, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
}
|
||||
up(&dev->limit_sem);
|
||||
|
@ -600,8 +600,8 @@ static inline void usb_pcwd_delete(struct usb_pcwd_private *usb_pcwd)
|
||||
{
|
||||
usb_free_urb(usb_pcwd->intr_urb);
|
||||
if (usb_pcwd->intr_buffer != NULL)
|
||||
usb_buffer_free(usb_pcwd->udev, usb_pcwd->intr_size,
|
||||
usb_pcwd->intr_buffer, usb_pcwd->intr_dma);
|
||||
usb_free_coherent(usb_pcwd->udev, usb_pcwd->intr_size,
|
||||
usb_pcwd->intr_buffer, usb_pcwd->intr_dma);
|
||||
kfree(usb_pcwd);
|
||||
}
|
||||
|
||||
@ -671,7 +671,7 @@ static int usb_pcwd_probe(struct usb_interface *interface,
|
||||
le16_to_cpu(endpoint->wMaxPacketSize) : 8);
|
||||
|
||||
/* set up the memory buffer's */
|
||||
usb_pcwd->intr_buffer = usb_buffer_alloc(udev, usb_pcwd->intr_size,
|
||||
usb_pcwd->intr_buffer = usb_alloc_coherent(udev, usb_pcwd->intr_size,
|
||||
GFP_ATOMIC, &usb_pcwd->intr_dma);
|
||||
if (!usb_pcwd->intr_buffer) {
|
||||
printk(KERN_ERR PFX "Out of memory\n");
|
||||
|
@ -41,7 +41,7 @@ MODULE_SUPPORTED_DEVICE("{{Edirol,UA-101},{Edirol,UA-1000}}");
|
||||
/*
|
||||
* This magic value optimizes memory usage efficiency for the UA-101's packet
|
||||
* sizes at all sample rates, taking into account the stupid cache pool sizes
|
||||
* that usb_buffer_alloc() uses.
|
||||
* that usb_alloc_coherent() uses.
|
||||
*/
|
||||
#define DEFAULT_QUEUE_LENGTH 21
|
||||
|
||||
@ -1056,7 +1056,7 @@ static int alloc_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)
|
||||
(unsigned int)MAX_QUEUE_LENGTH);
|
||||
|
||||
/*
|
||||
* The cache pool sizes used by usb_buffer_alloc() (128, 512, 2048) are
|
||||
* The cache pool sizes used by usb_alloc_coherent() (128, 512, 2048) are
|
||||
* quite bad when used with the packet sizes of this device (e.g. 280,
|
||||
* 520, 624). Therefore, we allocate and subdivide entire pages, using
|
||||
* a smaller buffer only for the last chunk.
|
||||
@ -1067,8 +1067,8 @@ static int alloc_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)
|
||||
packets = min(remaining_packets, packets_per_page);
|
||||
size = packets * stream->max_packet_bytes;
|
||||
stream->buffers[i].addr =
|
||||
usb_buffer_alloc(ua->dev, size, GFP_KERNEL,
|
||||
&stream->buffers[i].dma);
|
||||
usb_alloc_coherent(ua->dev, size, GFP_KERNEL,
|
||||
&stream->buffers[i].dma);
|
||||
if (!stream->buffers[i].addr)
|
||||
return -ENOMEM;
|
||||
stream->buffers[i].size = size;
|
||||
@ -1088,10 +1088,10 @@ static void free_stream_buffers(struct ua101 *ua, struct ua101_stream *stream)
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(stream->buffers); ++i)
|
||||
usb_buffer_free(ua->dev,
|
||||
stream->buffers[i].size,
|
||||
stream->buffers[i].addr,
|
||||
stream->buffers[i].dma);
|
||||
usb_free_coherent(ua->dev,
|
||||
stream->buffers[i].size,
|
||||
stream->buffers[i].addr,
|
||||
stream->buffers[i].dma);
|
||||
}
|
||||
|
||||
static int alloc_stream_urbs(struct ua101 *ua, struct ua101_stream *stream,
|
||||
|
@ -985,9 +985,9 @@ static void release_urb_ctx(struct snd_urb_ctx *u)
|
||||
{
|
||||
if (u->urb) {
|
||||
if (u->buffer_size)
|
||||
usb_buffer_free(u->subs->dev, u->buffer_size,
|
||||
u->urb->transfer_buffer,
|
||||
u->urb->transfer_dma);
|
||||
usb_free_coherent(u->subs->dev, u->buffer_size,
|
||||
u->urb->transfer_buffer,
|
||||
u->urb->transfer_dma);
|
||||
usb_free_urb(u->urb);
|
||||
u->urb = NULL;
|
||||
}
|
||||
@ -1008,8 +1008,8 @@ static void release_substream_urbs(struct snd_usb_substream *subs, int force)
|
||||
release_urb_ctx(&subs->dataurb[i]);
|
||||
for (i = 0; i < SYNC_URBS; i++)
|
||||
release_urb_ctx(&subs->syncurb[i]);
|
||||
usb_buffer_free(subs->dev, SYNC_URBS * 4,
|
||||
subs->syncbuf, subs->sync_dma);
|
||||
usb_free_coherent(subs->dev, SYNC_URBS * 4,
|
||||
subs->syncbuf, subs->sync_dma);
|
||||
subs->syncbuf = NULL;
|
||||
subs->nurbs = 0;
|
||||
}
|
||||
@ -1113,8 +1113,8 @@ static int init_substream_urbs(struct snd_usb_substream *subs, unsigned int peri
|
||||
if (!u->urb)
|
||||
goto out_of_memory;
|
||||
u->urb->transfer_buffer =
|
||||
usb_buffer_alloc(subs->dev, u->buffer_size, GFP_KERNEL,
|
||||
&u->urb->transfer_dma);
|
||||
usb_alloc_coherent(subs->dev, u->buffer_size, GFP_KERNEL,
|
||||
&u->urb->transfer_dma);
|
||||
if (!u->urb->transfer_buffer)
|
||||
goto out_of_memory;
|
||||
u->urb->pipe = subs->datapipe;
|
||||
@ -1126,8 +1126,8 @@ static int init_substream_urbs(struct snd_usb_substream *subs, unsigned int peri
|
||||
|
||||
if (subs->syncpipe) {
|
||||
/* allocate and initialize sync urbs */
|
||||
subs->syncbuf = usb_buffer_alloc(subs->dev, SYNC_URBS * 4,
|
||||
GFP_KERNEL, &subs->sync_dma);
|
||||
subs->syncbuf = usb_alloc_coherent(subs->dev, SYNC_URBS * 4,
|
||||
GFP_KERNEL, &subs->sync_dma);
|
||||
if (!subs->syncbuf)
|
||||
goto out_of_memory;
|
||||
for (i = 0; i < SYNC_URBS; i++) {
|
||||
|
@ -1047,8 +1047,8 @@ static struct snd_rawmidi_ops snd_usbmidi_input_ops = {
|
||||
static void free_urb_and_buffer(struct snd_usb_midi *umidi, struct urb *urb,
|
||||
unsigned int buffer_length)
|
||||
{
|
||||
usb_buffer_free(umidi->dev, buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_coherent(umidi->dev, buffer_length,
|
||||
urb->transfer_buffer, urb->transfer_dma);
|
||||
usb_free_urb(urb);
|
||||
}
|
||||
|
||||
@ -1099,8 +1099,8 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,
|
||||
pipe = usb_rcvbulkpipe(umidi->dev, ep_info->in_ep);
|
||||
length = usb_maxpacket(umidi->dev, pipe, 0);
|
||||
for (i = 0; i < INPUT_URBS; ++i) {
|
||||
buffer = usb_buffer_alloc(umidi->dev, length, GFP_KERNEL,
|
||||
&ep->urbs[i]->transfer_dma);
|
||||
buffer = usb_alloc_coherent(umidi->dev, length, GFP_KERNEL,
|
||||
&ep->urbs[i]->transfer_dma);
|
||||
if (!buffer) {
|
||||
snd_usbmidi_in_endpoint_delete(ep);
|
||||
return -ENOMEM;
|
||||
@ -1190,9 +1190,9 @@ static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi* umidi,
|
||||
break;
|
||||
}
|
||||
for (i = 0; i < OUTPUT_URBS; ++i) {
|
||||
buffer = usb_buffer_alloc(umidi->dev,
|
||||
ep->max_transfer, GFP_KERNEL,
|
||||
&ep->urbs[i].urb->transfer_dma);
|
||||
buffer = usb_alloc_coherent(umidi->dev,
|
||||
ep->max_transfer, GFP_KERNEL,
|
||||
&ep->urbs[i].urb->transfer_dma);
|
||||
if (!buffer) {
|
||||
snd_usbmidi_out_endpoint_delete(ep);
|
||||
return -ENOMEM;
|
||||
|
Loading…
Reference in New Issue
Block a user