From: Greg Kroah-Hartman Date: Fri, 31 Aug 2012 21:09:01 +0000 (-0700) Subject: 3.5-stable patches X-Git-Tag: v3.5.4~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff3eda6d329683859d82707b251d03a6e6ef40c4;p=thirdparty%2Fkernel%2Fstable-queue.git 3.5-stable patches added patches: rapidio-tsi721-fix-inbound-doorbell-interrupt-handling.patch rapidio-tsi721-fix-unused-variable-compiler-warning.patch regulator-twl-regulator-fix-up-vintana1-vintana2.patch --- diff --git a/queue-3.5/rapidio-tsi721-fix-inbound-doorbell-interrupt-handling.patch b/queue-3.5/rapidio-tsi721-fix-inbound-doorbell-interrupt-handling.patch new file mode 100644 index 00000000000..8d2fe5e750a --- /dev/null +++ b/queue-3.5/rapidio-tsi721-fix-inbound-doorbell-interrupt-handling.patch @@ -0,0 +1,52 @@ +From 3670e7e12e582c6d67761275d148171feb7a9004 Mon Sep 17 00:00:00 2001 +From: Alexandre Bounine +Date: Tue, 21 Aug 2012 16:16:11 -0700 +Subject: rapidio/tsi721: fix inbound doorbell interrupt handling + +From: Alexandre Bounine + +commit 3670e7e12e582c6d67761275d148171feb7a9004 upstream. + +Make sure that there is no doorbell messages left behind due to disabled +interrupts during inbound doorbell processing. + +The most common case for this bug is loss of rionet JOIN messages in +systems with three or more rionet participants and MSI or MSI-X enabled. +As result, requests for packet transfers may finish with "destination +unreachable" error message. + +This patch is applicable to kernel versions starting from v3.2. + +Signed-off-by: Alexandre Bounine +Cc: Matt Porter +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/rapidio/devices/tsi721.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/rapidio/devices/tsi721.c ++++ b/drivers/rapidio/devices/tsi721.c +@@ -435,6 +435,9 @@ static void tsi721_db_dpc(struct work_st + " info %4.4x\n", DBELL_SID(idb.bytes), + DBELL_TID(idb.bytes), DBELL_INF(idb.bytes)); + } ++ ++ wr_ptr = ioread32(priv->regs + ++ TSI721_IDQ_WP(IDB_QUEUE)) % IDB_QSIZE; + } + + iowrite32(rd_ptr & (IDB_QSIZE - 1), +@@ -445,6 +448,10 @@ static void tsi721_db_dpc(struct work_st + regval |= TSI721_SR_CHINT_IDBQRCV; + iowrite32(regval, + priv->regs + TSI721_SR_CHINTE(IDB_QUEUE)); ++ ++ wr_ptr = ioread32(priv->regs + TSI721_IDQ_WP(IDB_QUEUE)) % IDB_QSIZE; ++ if (wr_ptr != rd_ptr) ++ schedule_work(&priv->idb_work); + } + + /** diff --git a/queue-3.5/rapidio-tsi721-fix-unused-variable-compiler-warning.patch b/queue-3.5/rapidio-tsi721-fix-unused-variable-compiler-warning.patch new file mode 100644 index 00000000000..4febe781a9e --- /dev/null +++ b/queue-3.5/rapidio-tsi721-fix-unused-variable-compiler-warning.patch @@ -0,0 +1,51 @@ +From 9a9a9a7adafe62a34de8b4fb48936c1c5f9bafa5 Mon Sep 17 00:00:00 2001 +From: Alexandre Bounine +Date: Tue, 21 Aug 2012 16:16:12 -0700 +Subject: rapidio/tsi721: fix unused variable compiler warning + +From: Alexandre Bounine + +commit 9a9a9a7adafe62a34de8b4fb48936c1c5f9bafa5 upstream. + +Fix unused variable compiler warning when built with CONFIG_RAPIDIO_DEBUG +option off. + +This patch is applicable to kernel versions starting from v3.2 + +Signed-off-by: Alexandre Bounine +Cc: Matt Porter +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/rapidio/devices/tsi721.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/drivers/rapidio/devices/tsi721.c ++++ b/drivers/rapidio/devices/tsi721.c +@@ -2219,7 +2219,7 @@ static int __devinit tsi721_probe(struct + const struct pci_device_id *id) + { + struct tsi721_device *priv; +- int i, cap; ++ int cap; + int err; + u32 regval; + +@@ -2239,12 +2239,15 @@ static int __devinit tsi721_probe(struct + priv->pdev = pdev; + + #ifdef DEBUG ++ { ++ int i; + for (i = 0; i <= PCI_STD_RESOURCE_END; i++) { + dev_dbg(&pdev->dev, "res[%d] @ 0x%llx (0x%lx, 0x%lx)\n", + i, (unsigned long long)pci_resource_start(pdev, i), + (unsigned long)pci_resource_len(pdev, i), + pci_resource_flags(pdev, i)); + } ++ } + #endif + /* + * Verify BAR configuration diff --git a/queue-3.5/regulator-twl-regulator-fix-up-vintana1-vintana2.patch b/queue-3.5/regulator-twl-regulator-fix-up-vintana1-vintana2.patch new file mode 100644 index 00000000000..d4b26c0644d --- /dev/null +++ b/queue-3.5/regulator-twl-regulator-fix-up-vintana1-vintana2.patch @@ -0,0 +1,55 @@ +From 908d6d52928a7f2a4b317aac47542c5fbef43d88 Mon Sep 17 00:00:00 2001 +From: Aaro Koskinen +Date: Wed, 15 Aug 2012 01:10:04 +0300 +Subject: regulator: twl-regulator: fix up VINTANA1/VINTANA2 + +From: Aaro Koskinen + +commit 908d6d52928a7f2a4b317aac47542c5fbef43d88 upstream. + +It seems commit 2098e95ce9bb039ff2e7bf836df358d18a176139 (regulator: twl: +adapt twl-regulator driver to dt) accidentally deleted VINTANA1. Also +the same commit defines VINTANA2 twice with TWL4030_ADJUSTABLE_LDO and +TWL4030_FIXED_LDO. This patch changes the fixed one to be VINTANA1. + +I noticed this when auditing my N900 boot logs. I could not notice any +change in device behaviour, though, except that the boot logs are now +like before: + + ... + [ 0.282928] VDAC: 1800 mV normal standby + [ 0.284027] VCSI: 1800 mV normal standby + [ 0.285400] VINTANA1: 1500 mV normal standby + [ 0.286865] VINTANA2: 2750 mV normal standby + [ 0.288208] VINTDIG: 1500 mV normal standby + [ 0.289978] VSDI_CSI: 1800 mV normal standby + ... + +Signed-off-by: Aaro Koskinen +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/regulator/twl-regulator.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/regulator/twl-regulator.c ++++ b/drivers/regulator/twl-regulator.c +@@ -1065,7 +1065,7 @@ TWL6025_ADJUSTABLE_LDO(LDO7, 0x74, 1000, + TWL6025_ADJUSTABLE_LDO(LDO6, 0x60, 1000, 3300); + TWL6025_ADJUSTABLE_LDO(LDOLN, 0x64, 1000, 3300); + TWL6025_ADJUSTABLE_LDO(LDOUSB, 0x70, 1000, 3300); +-TWL4030_FIXED_LDO(VINTANA2, 0x3f, 1500, 11, 100, 0x08); ++TWL4030_FIXED_LDO(VINTANA1, 0x3f, 1500, 11, 100, 0x08); + TWL4030_FIXED_LDO(VINTDIG, 0x47, 1500, 13, 100, 0x08); + TWL4030_FIXED_LDO(VUSB1V5, 0x71, 1500, 17, 100, 0x08); + TWL4030_FIXED_LDO(VUSB1V8, 0x74, 1800, 18, 100, 0x08); +@@ -1146,7 +1146,7 @@ static const struct of_device_id twl_of_ + TWL6025_OF_MATCH("ti,twl6025-ldo6", LDO6), + TWL6025_OF_MATCH("ti,twl6025-ldoln", LDOLN), + TWL6025_OF_MATCH("ti,twl6025-ldousb", LDOUSB), +- TWLFIXED_OF_MATCH("ti,twl4030-vintana2", VINTANA2), ++ TWLFIXED_OF_MATCH("ti,twl4030-vintana1", VINTANA1), + TWLFIXED_OF_MATCH("ti,twl4030-vintdig", VINTDIG), + TWLFIXED_OF_MATCH("ti,twl4030-vusb1v5", VUSB1V5), + TWLFIXED_OF_MATCH("ti,twl4030-vusb1v8", VUSB1V8), diff --git a/queue-3.5/series b/queue-3.5/series index fdbcedba735..9989979e229 100644 --- a/queue-3.5/series +++ b/queue-3.5/series @@ -60,3 +60,6 @@ alsa-usb-audio-fix-scheduling-while-atomic-bug-in-pcm-capture-stream.patch sched-cgroup-fix-up-task_groups-list.patch sched-fix-divide-by-zero-at-thread_group-task-_times.patch uvcvideo-reset-the-bytesused-field-when-recycling-an-erroneous-buffer.patch +rapidio-tsi721-fix-inbound-doorbell-interrupt-handling.patch +rapidio-tsi721-fix-unused-variable-compiler-warning.patch +regulator-twl-regulator-fix-up-vintana1-vintana2.patch