struct usb_acecad *acecad = usb_get_intfdata(intf);
  
        usb_set_intfdata(intf, NULL);
 -      if (acecad) {
 -              usb_kill_urb(acecad->irq);
 -              input_unregister_device(acecad->input);
 -              usb_free_urb(acecad->irq);
 -              usb_free_coherent(interface_to_usbdev(intf), 10, acecad->data, acecad->data_dma);
 -              kfree(acecad);
 -      }
 +
 +      input_unregister_device(acecad->input);
 +      usb_free_urb(acecad->irq);
-       usb_buffer_free(acecad->usbdev, 8, acecad->data, acecad->data_dma);
++      usb_free_coherent(acecad->usbdev, 8, acecad->data, acecad->data_dma);
 +      kfree(acecad);
  }
  
  static struct usb_device_id usb_acecad_id_table [] = {
 
        return 0;
  
   fail3:       usb_free_urb(kbtab->irq);
-  fail2:       usb_buffer_free(dev, 8, kbtab->data, kbtab->data_dma);
 - fail2:       usb_free_coherent(dev, 10, kbtab->data, kbtab->data_dma);
++ fail2:       usb_free_coherent(dev, 8, kbtab->data, kbtab->data_dma);
   fail1:       input_free_device(input_dev);
        kfree(kbtab);
        return error;
        struct kbtab *kbtab = usb_get_intfdata(intf);
  
        usb_set_intfdata(intf, NULL);
 -      if (kbtab) {
 -              usb_kill_urb(kbtab->irq);
 -              input_unregister_device(kbtab->dev);
 -              usb_free_urb(kbtab->irq);
 -              usb_free_coherent(interface_to_usbdev(intf), 10, kbtab->data, kbtab->data_dma);
 -              kfree(kbtab);
 -      }
 +
 +      input_unregister_device(kbtab->dev);
 +      usb_free_urb(kbtab->irq);
-       usb_buffer_free(kbtab->usbdev, 8, kbtab->data, kbtab->data_dma);
++      usb_free_coherent(kbtab->usbdev, 8, kbtab->data, kbtab->data_dma);
 +      kfree(kbtab);
  }
  
  static struct usb_driver kbtab_driver = {
 
        usb_set_intfdata(intf, wacom);
        return 0;
  
 + fail4:       wacom_remove_shared_data(wacom_wac);
   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);
        return error;
  }
  
        usb_set_intfdata(intf, NULL);
  
        usb_kill_urb(wacom->irq);
 -      input_unregister_device(wacom->dev);
 +      input_unregister_device(wacom->wacom_wac.input);
        usb_free_urb(wacom->irq);
-       usb_buffer_free(interface_to_usbdev(intf), WACOM_PKGLEN_MAX,
+       usb_free_coherent(interface_to_usbdev(intf), WACOM_PKGLEN_MAX,
 -                        wacom->wacom_wac->data, wacom->data_dma);
 -      kfree(wacom->wacom_wac);
 +                      wacom->wacom_wac.data, wacom->data_dma);
 +      wacom_remove_shared_data(&wacom->wacom_wac);
        kfree(wacom);
  }
  
 
                goto error;
        }
  
-       buffer = usb_buffer_alloc(dev, buffer_len,
 -      buffer = usb_alloc_coherent(dev, ep->wMaxPacketSize,
++      buffer = usb_alloc_coherent(dev, buffer_len,
                                GFP_KERNEL, &urb->transfer_dma);
        if (!buffer) {
                ret = -ENOMEM;