Re: USB interrupt URB programming question

Alan Stern <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.