Skip to contentSkip to conversation

Patch "[media] rc: nuvoton: fix hang if chip is configured for alternative EFM IO address" has been added to the 4.7-stable tree

PATCH [email protected] 1 participant 1 message Aug 18, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

[media] rc: nuvoton: fix hang if chip is configured for alternative EFM IO address

to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
rc-nuvoton-fix-hang-if-chip-is-configured-for-alternative-efm-io-address.patch
and it can be found in the queue-4.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 5cac1f67ea0363d463a58ec2d9118268fe2ba5d6 Mon Sep 17 00:00:00 2001

From: Heiner Kallweit <[email protected]>
Date: Thu, 7 Jul 2016 03:17:39 -0300
Subject: [media] rc: nuvoton: fix hang if chip is configured for alternative EFM IO address
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Heiner Kallweit <[email protected]>

commit 5cac1f67ea0363d463a58ec2d9118268fe2ba5d6 upstream.

If a system configures the Nuvoton chip to use the alternative EFM IO address (CR_EFIR2) then after probing the primary EFM IO address (CR_EFIR) this region is not released.

If a driver for another function of the Nuvoton Super I/O chip uses the same probing mechanism then it will hang if loaded after the nuvoton-cir driver.
This was reported for the nct6775 hwmon driver.

Fix this by properly releasing the region after probing CR_EFIR. This regression was introduced with kernel 4.6 so cc it to stable.

---
 drivers/media/rc/nuvoton-cir.c |    1 +
 1 file changed, 1 insertion(+)
drivers/media/rc/nuvoton-cir.c +1 -0
@@ -401,6 +401,7 @@ static int nvt_hw_detect(struct nvt_dev
 	/* Check if we're wired for the alternate EFER setup */
 	nvt->chip_major = nvt_cr_read(nvt, CR_CHIP_ID_HI);
 	if (nvt->chip_major == 0xff) {
+		nvt_efm_disable(nvt);
 		nvt->cr_efir = CR_EFIR2;
 		nvt->cr_efdr = CR_EFDR2;
 		nvt_efm_enable(nvt);

Patches currently in stable-queue which might be from [email protected] are

queue-4.7/rc-nuvoton-fix-hang-if-chip-is-configured-for-alternative-efm-io-address.patch