@@ -1333,7 +1333,7 @@ static int usbtouch_resume(struct usb_interface *intf)
int result = 0;
mutex_lock(&input->mutex);
- if (input->users)
+ if (input->users || usbtouch->type->irq_always)
result = usb_submit_urb(usbtouch->irq, GFP_NOIO);
mutex_unlock(&input->mutex);
return result;
@@ -1484,7 +1484,7 @@ static int usbtouch_probe(struct usb_interface *intf,
usbtouch->irq->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
/* device specific allocations */
- if (type->init) {
+ if (type->alloc) {
err = type->alloc(usbtouch);
if (err) {
dbg("%s - type->alloc() failed, err: %d", __func__, err);