[media] au0828: don't let the IR polling thread to run at suspend
Trying to make au0828 to suspend can do very bad things, as the polling Kthread is not handled. We should disable it during suspend, only re-enabling it at resume. Still, analog and digital TV won't work, as we don't reinit the settings at resume, but at least it won't hang. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
92143f6fb0
commit
aaeac1991b
|
@ -281,13 +281,42 @@ static int au0828_usb_probe(struct usb_interface *interface,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int au0828_suspend(struct usb_interface *interface,
|
||||
pm_message_t message)
|
||||
{
|
||||
struct au0828_dev *dev = usb_get_intfdata(interface);
|
||||
|
||||
if (!dev)
|
||||
return 0;
|
||||
|
||||
au0828_rc_suspend(dev);
|
||||
|
||||
/* FIXME: should suspend also ATV/DTV */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int au0828_resume(struct usb_interface *interface)
|
||||
{
|
||||
struct au0828_dev *dev = usb_get_intfdata(interface);
|
||||
if (!dev)
|
||||
return 0;
|
||||
|
||||
au0828_rc_resume(dev);
|
||||
|
||||
/* FIXME: should resume also ATV/DTV */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct usb_driver au0828_usb_driver = {
|
||||
.name = DRIVER_NAME,
|
||||
.probe = au0828_usb_probe,
|
||||
.disconnect = au0828_usb_disconnect,
|
||||
.id_table = au0828_usb_id_table,
|
||||
|
||||
/* FIXME: Add suspend and resume functions */
|
||||
.suspend = au0828_suspend,
|
||||
.resume = au0828_resume,
|
||||
.reset_resume = au0828_resume,
|
||||
};
|
||||
|
||||
static int __init au0828_init(void)
|
||||
|
|
Loading…
Reference in New Issue