I'm getting a hang in s3c2410_udc.c's nuke() function which is due to
the same usb_request being queued back-to-back, with the result that
the request on the endpoint's queue points to itself, thus causing
nuke() to loop infinitely. (See below for a pseudo-trace for
illustration.)

In trying to figure out what the root problem is, I came across this
code in ether.c:rx_complete():

        if (req)
                rx_submit (dev, req, GFP_ATOMIC);

What is the purpose of this code? Under what circumstance would we
want to resubmit the usb_request we're completing?

TIA.

Matt


/ # ifconfig usb0 up
usb0: eth_open
usb0: eth_start
entering rx_fill
rx_fill: about to call rx_submit
  rx_submit: about to call usb_ep_queue req 0xc3dd73a8
  s3c2410_ep_queue: queueing req 0xc3dd73a0 on ep ep2-bulk 0xc037d868
  0.409 USB: s3c2410_queue: ep2 len 1536
  0.410 USB: fifo_read fifo count : 42
  done: dequeueing 0xc3dd73a0
    rx_complete: ep 0xc037d880 req 0xc3dd73a8
      rx_submit: about to call usb_ep_queue req 0xc3dd73a8
        s3c2410_ep_queue: queueing req 0xc3dd73a0 on ep ep2-bulk 0xc037d868
        0.411 USB: s3c2410_queue: ep2 len 1536
        s3c2410_ep_queue: adding req 0xc3dd73a0 to ep 0xc037d868 queue
        0.412 USB: s3c2410_queue normal end ep 0xc037d868
      rx_submit: back from usb_ep_queue req 0xc3dd73a8, retval 0
  s3c2410_ep_queue: adding req 0xc3dd73a0 to ep 0xc037d868 queue
  0.413 USB: s3c2410_queue normal end ep 0xc037d868
  rx_submit: back from usb_ep_queue req 0xc3dd73a8, retval 0
rx_fill: back from rx_submit

rx_fill: about to call rx_submit
  rx_submit: about to call usb_ep_queue req 0xc3dd73e8
    s3c2410_ep_queue: queueing req 0xc3dd73e0 on ep ep2-bulk 0xc037d868
    0.414 USB: s3c2410_queue: ep2 len 1536
    0.415 USB: s3c2410_queue normal end ep 0xc037d868
  rx_submit: back from usb_ep_queue req 0xc3dd73e8, retval 0
rx_fill: back from rx_submit
leaving rx_fill
eth_start: leaving

-------------------------------------------------------------------------
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

Reply via email to