Message ID | 1304953686-21805-1-git-send-email-jarod@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Jarod Wilson wrote: > Just recently acquired an Asus Eee Box PC with an onboard IR receiver > driven by ite-cir (ITE8713 sub-variant). Works out of the box with the > ite-cir driver in 2.6.39, but stops working after a suspend/resume > cycle. Its fixed by simply reinitializing registers after resume, > similar to what's done in the nuvoton-cir driver. I've not tested with > any other ITE variant, but code inspection suggests this should be safe > on all variants. > > Reported-by: Stephan Raue<sraue@openelec.tv> > CC: Juan Jesús García de Soria<skandalfo@gmail.com> > Signed-off-by: Jarod Wilson<jarod@redhat.com> > --- > drivers/media/rc/ite-cir.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c > index 43908a7..8488e53 100644 > --- a/drivers/media/rc/ite-cir.c > +++ b/drivers/media/rc/ite-cir.c > @@ -1684,6 +1684,8 @@ static int ite_resume(struct pnp_dev *pdev) > /* wake up the transmitter */ > wake_up_interruptible(&dev->tx_queue); > } else { > + /* reinitialize hardware config registers */ > + itdev->params.init_hardware(itdev); > /* enable the receiver */ > dev->params.enable_rx(dev); Gah. I've obviously screwed this one up. Tested a locally built version of the module on the machine itself, then did a copy/paste of the init_hardware line from elsewhere in the driver where struct ite_dev was called itdev instead of just dev. v2 momentarily.
diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c index 43908a7..8488e53 100644 --- a/drivers/media/rc/ite-cir.c +++ b/drivers/media/rc/ite-cir.c @@ -1684,6 +1684,8 @@ static int ite_resume(struct pnp_dev *pdev) /* wake up the transmitter */ wake_up_interruptible(&dev->tx_queue); } else { + /* reinitialize hardware config registers */ + itdev->params.init_hardware(itdev); /* enable the receiver */ dev->params.enable_rx(dev); }
Just recently acquired an Asus Eee Box PC with an onboard IR receiver driven by ite-cir (ITE8713 sub-variant). Works out of the box with the ite-cir driver in 2.6.39, but stops working after a suspend/resume cycle. Its fixed by simply reinitializing registers after resume, similar to what's done in the nuvoton-cir driver. I've not tested with any other ITE variant, but code inspection suggests this should be safe on all variants. Reported-by: Stephan Raue <sraue@openelec.tv> CC: Juan Jesús García de Soria <skandalfo@gmail.com> Signed-off-by: Jarod Wilson <jarod@redhat.com> --- drivers/media/rc/ite-cir.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)