]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 May 2013 02:26:51 +0000 (19:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 May 2013 02:26:51 +0000 (19:26 -0700)
added patches:
drm-radeon-fix-vram-size-calculation-for-vram-4gb.patch
hwmon-fix-error-return-code-in-abituguru_probe.patch
i2c-designware-always-clear-interrupts-before-enabling-them.patch
media-mantis-fix-silly-crash-case.patch

queue-3.4/drm-radeon-fix-vram-size-calculation-for-vram-4gb.patch [new file with mode: 0644]
queue-3.4/hwmon-fix-error-return-code-in-abituguru_probe.patch [new file with mode: 0644]
queue-3.4/i2c-designware-always-clear-interrupts-before-enabling-them.patch [new file with mode: 0644]
queue-3.4/media-mantis-fix-silly-crash-case.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/drm-radeon-fix-vram-size-calculation-for-vram-4gb.patch b/queue-3.4/drm-radeon-fix-vram-size-calculation-for-vram-4gb.patch
new file mode 100644 (file)
index 0000000..a3b7a23
--- /dev/null
@@ -0,0 +1,58 @@
+From fc986034540102cd090237bf3f70262e1ae80d9c Mon Sep 17 00:00:00 2001
+From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
+Date: Sat, 18 May 2013 21:19:23 +0200
+Subject: drm/radeon: Fix VRAM size calculation for VRAM >= 4GB
+
+From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
+
+commit fc986034540102cd090237bf3f70262e1ae80d9c upstream.
+
+Add ULL prefix to avoid overflow.
+
+Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/evergreen.c  |    4 ++--
+ drivers/gpu/drm/radeon/radeon_ttm.c |    2 +-
+ drivers/gpu/drm/radeon/si.c         |    4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/evergreen.c
++++ b/drivers/gpu/drm/radeon/evergreen.c
+@@ -2443,8 +2443,8 @@ int evergreen_mc_init(struct radeon_devi
+               rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE);
+       } else {
+               /* size in MB on evergreen/cayman/tn */
+-              rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024;
+-              rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024;
++              rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL;
++              rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL;
+       }
+       rdev->mc.visible_vram_size = rdev->mc.aper_size;
+       r700_vram_gtt_location(rdev, &rdev->mc);
+--- a/drivers/gpu/drm/radeon/radeon_ttm.c
++++ b/drivers/gpu/drm/radeon/radeon_ttm.c
+@@ -744,7 +744,7 @@ int radeon_ttm_init(struct radeon_device
+               return r;
+       }
+       DRM_INFO("radeon: %uM of VRAM memory ready\n",
+-               (unsigned)rdev->mc.real_vram_size / (1024 * 1024));
++               (unsigned) (rdev->mc.real_vram_size / (1024 * 1024)));
+       r = ttm_bo_init_mm(&rdev->mman.bdev, TTM_PL_TT,
+                               rdev->mc.gtt_size >> PAGE_SHIFT);
+       if (r) {
+--- a/drivers/gpu/drm/radeon/si.c
++++ b/drivers/gpu/drm/radeon/si.c
+@@ -2464,8 +2464,8 @@ static int si_mc_init(struct radeon_devi
+       rdev->mc.aper_base = pci_resource_start(rdev->pdev, 0);
+       rdev->mc.aper_size = pci_resource_len(rdev->pdev, 0);
+       /* size in MB on si */
+-      rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024;
+-      rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024 * 1024;
++      rdev->mc.mc_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL;
++      rdev->mc.real_vram_size = RREG32(CONFIG_MEMSIZE) * 1024ULL * 1024ULL;
+       rdev->mc.visible_vram_size = rdev->mc.aper_size;
+       si_vram_gtt_location(rdev, &rdev->mc);
+       radeon_update_bandwidth_info(rdev);
diff --git a/queue-3.4/hwmon-fix-error-return-code-in-abituguru_probe.patch b/queue-3.4/hwmon-fix-error-return-code-in-abituguru_probe.patch
new file mode 100644 (file)
index 0000000..b94e72f
--- /dev/null
@@ -0,0 +1,47 @@
+From ecacb0b17c08fae89f65468727f0e4b8e91da4e1 Mon Sep 17 00:00:00 2001
+From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
+Date: Mon, 13 May 2013 14:01:43 +0800
+Subject: hwmon: fix error return code in abituguru_probe()
+
+From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
+
+commit ecacb0b17c08fae89f65468727f0e4b8e91da4e1 upstream.
+
+Fix to return a negative error code from the error handling
+case instead of 0, as done elsewhere in this function.
+
+Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hwmon/abituguru.c |   16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+--- a/drivers/hwmon/abituguru.c
++++ b/drivers/hwmon/abituguru.c
+@@ -1410,14 +1410,18 @@ static int __devinit abituguru_probe(str
+       pr_info("found Abit uGuru\n");
+       /* Register sysfs hooks */
+-      for (i = 0; i < sysfs_attr_i; i++)
+-              if (device_create_file(&pdev->dev,
+-                              &data->sysfs_attr[i].dev_attr))
++      for (i = 0; i < sysfs_attr_i; i++) {
++              res = device_create_file(&pdev->dev,
++                                       &data->sysfs_attr[i].dev_attr);
++              if (res)
+                       goto abituguru_probe_error;
+-      for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++)
+-              if (device_create_file(&pdev->dev,
+-                              &abituguru_sysfs_attr[i].dev_attr))
++      }
++      for (i = 0; i < ARRAY_SIZE(abituguru_sysfs_attr); i++) {
++              res = device_create_file(&pdev->dev,
++                                       &abituguru_sysfs_attr[i].dev_attr);
++              if (res)
+                       goto abituguru_probe_error;
++      }
+       data->hwmon_dev = hwmon_device_register(&pdev->dev);
+       if (!IS_ERR(data->hwmon_dev))
diff --git a/queue-3.4/i2c-designware-always-clear-interrupts-before-enabling-them.patch b/queue-3.4/i2c-designware-always-clear-interrupts-before-enabling-them.patch
new file mode 100644 (file)
index 0000000..65b98b4
--- /dev/null
@@ -0,0 +1,38 @@
+From 2a2d95e9d6d29e726cc294b65391917ed2e32bf4 Mon Sep 17 00:00:00 2001
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+Date: Mon, 13 May 2013 00:54:30 +0000
+Subject: i2c: designware: always clear interrupts before enabling them
+
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+
+commit 2a2d95e9d6d29e726cc294b65391917ed2e32bf4 upstream.
+
+If the I2C bus is put to a low power state by an ACPI method it might pull
+the SDA line low (as its power is removed). Once the bus is put to full
+power state again, the SDA line is pulled back to high. This transition
+looks like a STOP condition from the controller point-of-view which sets
+STOP detected bit in its status register causing the driver to fail
+subsequent transfers.
+
+Fix this by always clearing all interrupts before we start a transfer.
+
+Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/i2c/busses/i2c-designware-core.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/i2c/busses/i2c-designware-core.c
++++ b/drivers/i2c/busses/i2c-designware-core.c
+@@ -349,7 +349,8 @@ static void i2c_dw_xfer_init(struct dw_i
+       /* Enable the adapter */
+       dw_writel(dev, 1, DW_IC_ENABLE);
+-      /* Enable interrupts */
++      /* Clear and enable interrupts */
++      i2c_dw_clear_int(dev);
+       dw_writel(dev, DW_IC_INTR_DEFAULT_MASK, DW_IC_INTR_MASK);
+ }
diff --git a/queue-3.4/media-mantis-fix-silly-crash-case.patch b/queue-3.4/media-mantis-fix-silly-crash-case.patch
new file mode 100644 (file)
index 0000000..38c154e
--- /dev/null
@@ -0,0 +1,38 @@
+From e1d45ae10aea8e8a403e5d96bf5902ee670007ff Mon Sep 17 00:00:00 2001
+From: Alan Cox <alan@linux.intel.com>
+Date: Thu, 9 Aug 2012 12:33:52 -0300
+Subject: media: mantis: fix silly crash case
+
+From: Alan Cox <alan@linux.intel.com>
+
+commit e1d45ae10aea8e8a403e5d96bf5902ee670007ff upstream.
+
+If we set mantis->fe to NULL on an error its not a good idea to then try
+passing NULL to the unregister paths and oopsing really.
+
+Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=16473
+
+Signed-off-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Cc: Bjørn Mork <bjorn@mork.no>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/dvb/mantis/mantis_dvb.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/media/dvb/mantis/mantis_dvb.c
++++ b/drivers/media/dvb/mantis/mantis_dvb.c
+@@ -248,8 +248,10 @@ int __devinit mantis_dvb_init(struct man
+ err5:
+       tasklet_kill(&mantis->tasklet);
+       dvb_net_release(&mantis->dvbnet);
+-      dvb_unregister_frontend(mantis->fe);
+-      dvb_frontend_detach(mantis->fe);
++      if (mantis->fe) {
++              dvb_unregister_frontend(mantis->fe);
++              dvb_frontend_detach(mantis->fe);
++      }
+ err4:
+       mantis->demux.dmx.remove_frontend(&mantis->demux.dmx, &mantis->fe_mem);
index 8dcb997cd7fd55be86e2535d28041b546bd5e519..e462559982fe91417aea5bfebb47b2630c233ef2 100644 (file)
@@ -1 +1,5 @@
 btrfs-don-t-stop-searching-after-encountering-the-wrong-item.patch
+hwmon-fix-error-return-code-in-abituguru_probe.patch
+i2c-designware-always-clear-interrupts-before-enabling-them.patch
+drm-radeon-fix-vram-size-calculation-for-vram-4gb.patch
+media-mantis-fix-silly-crash-case.patch