Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 357339
b: refs/heads/master
c: ac1c86c
h: refs/heads/master
i:
  357337: 6d4e669
  357335: 2985a98
v: v3
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Jan 6, 2013
1 parent 6320726 commit d15cd4c
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ef3824029d0f5887c065ea461157bdf8b2287bf8
refs/heads/master: ac1c86c857368eb727b7ca2c7a48bd6e373fa628
3 changes: 2 additions & 1 deletion trunk/drivers/media/usb/dvb-usb-v2/dvb_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,7 @@ struct dvb_usb_adapter {
* @props: device properties
* @name: device name
* @rc_map: name of rc codes table
* @rc_polling_active: set when RC polling is active
* @udev: pointer to the device's struct usb_device
* @intf: pointer to the device's usb interface
* @rc: remote controller configuration
Expand All @@ -364,7 +365,7 @@ struct dvb_usb_device {
const struct dvb_usb_device_properties *props;
const char *name;
const char *rc_map;

bool rc_polling_active;
struct usb_device *udev;
struct usb_interface *intf;
struct dvb_usb_rc rc;
Expand Down
10 changes: 7 additions & 3 deletions trunk/drivers/media/usb/dvb-usb-v2/dvb_usb_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,16 @@ static void dvb_usb_read_remote_control(struct work_struct *work)
* When the parameter has been set to 1 via sysfs while the
* driver was running, or when bulk mode is enabled after IR init.
*/
if (dvb_usbv2_disable_rc_polling || d->rc.bulk_mode)
if (dvb_usbv2_disable_rc_polling || d->rc.bulk_mode) {
d->rc_polling_active = false;
return;
}

ret = d->rc.query(d);
if (ret < 0) {
dev_err(&d->udev->dev, "%s: rc.query() failed=%d\n",
KBUILD_MODNAME, ret);
d->rc_polling_active = false;
return; /* stop polling */
}

Expand Down Expand Up @@ -183,6 +186,7 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d)
d->rc.interval);
schedule_delayed_work(&d->rc_query_work,
msecs_to_jiffies(d->rc.interval));
d->rc_polling_active = true;
}

return 0;
Expand Down Expand Up @@ -964,7 +968,7 @@ int dvb_usbv2_suspend(struct usb_interface *intf, pm_message_t msg)
dev_dbg(&d->udev->dev, "%s:\n", __func__);

/* stop remote controller poll */
if (d->rc.query && !d->rc.bulk_mode)
if (d->rc_polling_active)
cancel_delayed_work_sync(&d->rc_query_work);

for (i = MAX_NO_OF_ADAPTER_PER_DEVICE - 1; i >= 0; i--) {
Expand Down Expand Up @@ -1011,7 +1015,7 @@ static int dvb_usbv2_resume_common(struct dvb_usb_device *d)
}

/* start remote controller poll */
if (d->rc.query && !d->rc.bulk_mode)
if (d->rc_polling_active)
schedule_delayed_work(&d->rc_query_work,
msecs_to_jiffies(d->rc.interval));

Expand Down

0 comments on commit d15cd4c

Please sign in to comment.