Hello all, First off, a big thanks to Oliver for his help.
Attached is my first version of the changes needed for the Sierra Wireless driver to support suspend / resume. It requires the patch Oliver created which supplies the infrastructure in the generic USB serial code. The code works... in the sense that the system doesn't immediately crash or anything when plugging in a modem. However, we have just begun the testing, so we don't know if suspend / resume is actually working properly. Mostly we'd like to know if we're following the correct style, and if there's any obvious problems in the way we've added the suspend / resume support to the Sierra Wireless driver. ------------------------------------------------------ I'm confused slightly by the patch created by Oliver on March 20th concerning a race condition in the Sierra Wireless driver upon close. http://marc.info/?l=linux-usb-devel&m=117451402229177&w=4 In the patch I've attached, we've created a helper function to actually unlink all the URBs, but the commentary on Oliver's March 20th patch seems to indicate that this is not a good idea. But I don't understand why. ------------------------------------------------------ There are two patches attached: generic_usb_susp_20070426.patch This is Oliver's patch to add the infrastructure for suspend / resume for serial drivers in general. sierra_suspend_resume_v107.patch This is a patch against the v1.0.6 version of the sierra.c in Linux kernel version 2.6.21. Since the Sierra Wireless driver uses multiple URBs, it unlinks then all upon suspend. And, obviously, submits them again on resume. It also includes the patch Greg posted on the 21st which does some null pointer checking. http://marc.info/?l=linux-usb-devel&m=117451402229177&w=4 And it uses usb_unlink_urb() instead of stop_urb() as suggested by Oliver. Please let me know what you think. James Graves Delta Mobile Software, Inc. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel