Thread (1 message) 1 message, 1 author, 2011-04-25

Re: [PATCHv5] usbnet: Resubmit interrupt URB once if halted

From: Paul Stewart <hidden>
Date: 2011-04-25 18:41:29

On Sat, Apr 23, 2011 at 11:36 PM, Oliver Neukum [off-list ref] wrote:
Am Freitag, 22. April 2011, 17:59:15 schrieb Paul Stewart:
quoted
quoted
quoted
      free_netdev(net);
      usb_put_dev (xdev);
 }
@@ -1285,6 +1291,10 @@ int usbnet_suspend (struct usb_interface *intf, pm_message_t message)
               * wake the device
               */
              netif_device_attach (dev->net);
+
+             /* Stop interrupt URBs */
+             if (dev->interrupt)
+                     usb_kill_urb(dev->interrupt);
      }
      return 0;
 }
There is a subtle question here: When is the best time to kill the
interrupt URB?  Without knowing any of the details, I'd guess that the
interrupt URB reports asynchronous events and the driver could run into
trouble if one of those events occurred while everything else was
turned off.  This suggests that the interrupt URB should be killed as
soon as possible rather than as late as possible.  But maybe it doesn't
matter; it all depends on the design of the driver.
I'm not sure I can answer this question either.  As it stands, nobody
was killing them before.  Just trying to make it better.
Hm. Are we looking at the same code?
Perhaps not.  I'm working out of the netdev-2.6 git repository.  Is
this the wrong place?
usbnet_suspend now has:

               /*
                * accelerate emptying of the rx and queues, to avoid
                * having everything error out.
                */
               netif_device_detach (dev->net);
               usbnet_terminate_urbs(dev);
               usb_kill_urb(dev->interrupt);

This suggests that if you want to resubmit the interrupt URB in resume()
you do it first. Which drivers use the interrupt URB?
The asix driver uses it fo signal link status.
       Regards
               Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help