Patch "i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs" has been added to the 3.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

    i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs

to the 3.12-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:
     i2c-mv64xxx-fix-bus-hang-on-a0-version-of-the-armada-xp-socs.patch
and it can be found in the queue-3.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From 6cf70ae928bae17077efc0d528dec49bc380438b Mon Sep 17 00:00:00 2001
From: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Date: Tue, 31 Dec 2013 16:59:33 +0100
Subject: i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs

From: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>

commit 6cf70ae928bae17077efc0d528dec49bc380438b upstream.

The first variants of Armada XP SoCs (A0 stepping) have issues related
to the i2c controller which prevent to use the offload mechanism and
lead to a kernel hang during boot.

The commit introduces a new the compatible string
marvell,mv78230-a0-i2c for the i2c controller. When this compatible
string is used the driver disables the offload mechanism and the
kernel no more hangs on these SoCs.

Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx>
Reported-by: Andrew Lunn <andrew@xxxxxxx>
Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
Fixes: 930ab3d403ae (i2c: mv64xxx: Add I2C Transaction Generator support)
Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
 drivers/i2c/busses/i2c-mv64xxx.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -692,6 +692,7 @@ static const struct of_device_id mv64xxx
 	{ .compatible = "allwinner,sun4i-i2c", .data = &mv64xxx_i2c_regs_sun4i},
 	{ .compatible = "marvell,mv64xxx-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
 	{ .compatible = "marvell,mv78230-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
+	{ .compatible = "marvell,mv78230-a0-i2c", .data = &mv64xxx_i2c_regs_mv64xxx},
 	{}
 };
 MODULE_DEVICE_TABLE(of, mv64xxx_i2c_of_match_table);
@@ -783,6 +784,10 @@ mv64xxx_of_config(struct mv64xxx_i2c_dat
 		drv_data->errata_delay = true;
 	}
 
+	if (of_device_is_compatible(np, "marvell,mv78230-a0-i2c")) {
+		drv_data->offload_enabled = false;
+		drv_data->errata_delay = true;
+	}
 out:
 	return rc;
 #endif


Patches currently in stable-queue which might be from gregory.clement@xxxxxxxxxxxxxxxxxx are

queue-3.12/ata-sata_mv-fix-disk-hotplug-for-armada-370-xp-socs.patch
queue-3.12/ata-sata_mv-introduce-compatible-string-marvell-armada-370-sata.patch
queue-3.12/arm-mvebu-add-support-to-get-the-id-and-the-revision-of-a-soc.patch
queue-3.12/i2c-mv64xxx-document-the-newly-introduced-armada-xp-a0-compatible.patch
queue-3.12/arm-mvebu-update-the-sata-compatible-string-for-armada-370-xp.patch
queue-3.12/i2c-mv64xxx-fix-bus-hang-on-a0-version-of-the-armada-xp-socs.patch
queue-3.12/arm-mvebu-add-quirk-for-i2c-for-the-openblocks-ax3-4-board.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]