August 24, 2011

USB core


I am implementing suspend and resume methods in the USB client driver. I have done the following things.

1)I register a suspend and resume methods in usb_driver structure.
2)I am calling usb_autopm_pet_interface and usb_autopm_pet_interface functions in the open and release methods to change the pm_usage_cnt value in usb_interface structure.

The suspend method is not calling when the pm_usage_cnt=0 and the resume method also not calling when the pm_usage_cnt>0.

Is there any common suspend and resume methods which will be called by the usb core other than the suspend and resume methods registered by the client driver.

CONFIG_USB_SUSPEND is already enabled.

Please help me to find why the USB core is not calling the registered the suspend and resume methods.

Click Here!