On Wed, 14 Feb 2007, Sven Anders wrote:

> Hello!
> 
> I want to change the actual "appletouch.c" USB driver and run into a problem.
> 
> 
> After I called
> 
>         usb_fill_int_urb(dev->urb, udev,
>                          usb_rcvintpipe(udev, int_in_endpointAddr),
>                          dev->data, dev->datalen, atp_complete, dev, 1);
> 
> 
> the driver waits until the USB device (here the touchpad) starts sending data
> (after I touched it). It does this continuously until I unload the driver.

Isn't that exactly what it's supposed to do?  What good is a driver if it
doesn't wait for the device to send data?

> If I change the driver to not (re)call the function
> 
>          usb_submit_urb(dev->urb, GFP_ATOMIC);
> 
> in the "atp_complete" function, it stops. But it does not wait (as the first
> time) to restart the transfer. Is it possible to let the USB device restart
> the transfer after I touched the pad again?

Yes.  :-)

Your question isn't clear.  It looks like you're asking how to restart the 
transfer.  The answer is obvious: Change the driver back so that it _does_ 
call usb_submit_urb() inside atp_complete().

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to