Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1412130 > unrolled thread

Suspend broken on Thinkpad x201s since 4.7-rc1

Started byJan Niehusmann <jan@gondor.com>
First post2016-06-02 13:10 +0200
Last post2016-06-03 17:00 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  Suspend broken on Thinkpad x201s since 4.7-rc1 Jan Niehusmann <jan@gondor.com> - 2016-06-02 13:10 +0200
    [PATCH] iommu/vt-d: fix overflow of iommu->domains array Jan Niehusmann <jan@gondor.com> - 2016-06-03 17:00 +0200

#1412130 — Suspend broken on Thinkpad x201s since 4.7-rc1

FromJan Niehusmann <jan@gondor.com>
Date2016-06-02 13:10 +0200
SubjectSuspend broken on Thinkpad x201s since 4.7-rc1
Message-ID<rFyFI-5bR-23@gated-at.bofh.it>
Hi,

when trying out 4.7-rc1 on my Thinkpad x201s, I noticed that suspending
the system doesn't work any more. Instead, when trying to suspend,
the system hangs with a black screen and the suspend-LED blinking.

I bisected the issue to commit 22e2f9fa63b092923873fc8a52955151f4d83274,
and indeed, reverting this commit from 4.7-rc1 fixes the issue.

As the system just hangs on suspend, I don't have any error message to
quote. But if there is something I could try to get some diagnostics,
please let me know.

Jan

[toc] | [next] | [standalone]


#1413281 — [PATCH] iommu/vt-d: fix overflow of iommu->domains array

FromJan Niehusmann <jan@gondor.com>
Date2016-06-03 17:00 +0200
Subject[PATCH] iommu/vt-d: fix overflow of iommu->domains array
Message-ID<rFYJP-4Ab-11@gated-at.bofh.it>
In reply to#1412130
The valid range of did in get_iommu_domain(*iommu, did)
is 0..cap_ndoms(iommu->cap), so don't exceed that
range in free_all_cpu_cached_iovas().

Signed-off-by: Jan Niehusmann <jan@gondor.com>
---
 drivers/iommu/intel-iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index a644d0c..82989d4 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -4600,7 +4600,7 @@ static void free_all_cpu_cached_iovas(unsigned int cpu)
 		if (!iommu)
 			continue;
 
-		for (did = 0; did < 0xffff; did++) {
+		for (did = 0; did < cap_ndoms(iommu->cap); did++) {
 			domain = get_iommu_domain(iommu, did);
 
 			if (!domain)
-- 
2.1.4

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web