Fix FS#19234, FS#26674, FS#25939, FS#26528 and a wrong drm error

This commit is contained in:
Thomas Bächler 2011-10-31 21:26:29 +00:00
parent 21d06cdf91
commit f86ef3da33
7 changed files with 1715 additions and 4 deletions

View File

@ -8,7 +8,7 @@ pkgname=('linux' 'linux-headers' 'linux-docs') # Build stock -ARCH kernel
_kernelname=${pkgname#linux}
_basekernel=3.1
pkgver=${_basekernel}
pkgrel=2
pkgrel=3
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
@ -20,12 +20,22 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-${pkgver}.tar.xz"
'config' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
"${pkgname}.preset"
'change-default-console-loglevel.patch')
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
'i915-fix-incorrect-error-message.patch'
'iwlagn-fix-NULL-pointer-dereference.patch'
'dib0700-fix.patch'
'usb-add-reset-resume-quirk-for-several-webcams.patch')
md5sums=('edbdc798f23ae0f8045c82f6fa22c536'
'b88bbe3ed780441dbe1e385f4beae1e4'
'08774980ad31da185e7f7379596b9001'
'eb14dcfd80c00852ef81ded6e826826a'
'9d3c56a4b999c8bfbd4018089a62f662')
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
'a50c9076012cb2dda49952dc6ec3e9c1'
'61a6be40e8e1e9eae5f23f241e7a0779'
'442334d777475e2a37db92d199672a28'
'52d41fa61e80277ace2b994412a0c856')
build() {
cd "${srcdir}/linux-${_basekernel}"
@ -36,6 +46,35 @@ build() {
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
# Some chips detect a ghost TV output
# mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html
# Arch Linux bug report: FS#19234
#
# It is unclear why this patch wasn't merged upstream, it was accepted,
# then dropped because the reasoning was unclear. However, it is clearly
# needed.
patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch"
# In 3.1.0, a DRM_DEBUG message is falsely declared as DRM_ERROR. This
# worries users, as this message is displayed even at loglevel 4. Fix
# this.
patch -Np1 -i "${srcdir}/i915-fix-incorrect-error-message.patch"
# iwlagn has a critical bug that hangs the system on 3.1.0. A patch
# was posted, but didn't make it into the tree in time.
# http://marc.info/?l=linux-wireless&m=131840748927629&w=2
# FS#26674
patch -Np1 -i "${srcdir}/iwlagn-fix-NULL-pointer-dereference.patch"
# Fix dib0700 driver
# http://git.linuxtv.org/pb/media_tree.git/shortlog/refs/heads/for_v3.0
# FS#25939
patch -Np1 -i "${srcdir}/dib0700-fix.patch"
# Add the USB_QUIRK_RESET_RESUME for several webcams
# FS#26528
patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)

1487
dib0700-fix.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Tested-by: Santi <santi@agolina.net>
---
drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index dc83b7a..c8f67bf 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1267,6 +1267,15 @@
DAC_B_0_7_V |
DAC_C_0_7_V);
+ /*
+ * The TV sense state should be cleared to zero on cantiga platform. Otherwise
+ * the TV is misdetected. This is hardware requirement.
+ */
+ if (IS_GM45(dev))
+ tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL |
+ TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL);
+
+
I915_WRITE(TV_CTL, tv_ctl);
I915_WRITE(TV_DAC, tv_dac);
POSTING_READ(TV_DAC);

View File

@ -0,0 +1,22 @@
commit 6c76e0b94e484ffbdf38d2fe2769b6ca9aa99de4
Author: Thomas Bächler <thomas@archlinux.org>
Date: Mon Oct 31 19:16:18 2011 +0100
Change accidental error message to debug message.
According to https://lkml.org/lkml/2011/9/19/80, this is not supposed
to be an error message, but a debug message. This worries users.
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 04411ad..02d5794 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5172,7 +5172,7 @@ static void ironlake_update_pch_refclk(struct drm_device *dev)
} else {
/* Enable SSC on PCH eDP if needed */
if (intel_panel_use_ssc(dev_priv)) {
- DRM_ERROR("enabling SSC on PCH\n");
+ DRM_DEBUG("enabling SSC on PCH\n");
temp |= DREF_SUPERSPREAD_SOURCE_ENABLE;
}
}

View File

@ -0,0 +1,38 @@
This fix regression introduced by commit:
commit 15b3f3b006b42a678523cad989bfd60b76bf4403
Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date: Fri Jun 3 07:54:13 2011 -0700
iwlagn: set smps mode after assoc for 1000 device
Also remove unneeded brackets on the way.
Address:
https://bugzilla.redhat.com/show_bug.cgi?id=744155
If fix will not get 3.1 release, it should be applied in 3.1 stable.
Cc: stable@kernel.org # 3.1+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
index ca632f9..5004342 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
@@ -296,8 +296,8 @@ static int iwlagn_rxon_connect(struct iwl_priv *priv,
return ret;
}
- if ((ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION) &&
- priv->cfg->ht_params->smps_mode)
+ if (ctx->vif && ctx->vif->type == NL80211_IFTYPE_STATION &&
+ priv->cfg->ht_params && priv->cfg->ht_params->smps_mode)
ieee80211_request_smps(ctx->vif,
priv->cfg->ht_params->smps_mode);
--
1.7.1

View File

@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
KERNEL_VERSION=3.1.0-2-ARCH
KERNEL_VERSION=3.1.0-3-ARCH
post_install () {
# updating module dependencies

View File

@ -0,0 +1,99 @@
commit 2394d67e446bf616a0885167d5f0d397bdacfdfc
Author: Oliver Neukum <oneukum@suse.de>
Date: Tue Sep 13 08:42:21 2011 +0200
USB: add RESET_RESUME for webcams shown to be quirky
The new runtime PM code has shown that many webcams suffer
from a race condition that may crash them upon resume.
Runtime PM is especially prone to show the problem because
it retains power to the cameras at all times. However
system suspension may also crash the devices and retain
power to the devices.
The only way to solve this problem without races is in
usbcore with the RESET_RESUME quirk.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 81ce6a8..38f0510 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Creative SB Audigy 2 NX */
{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C200 */
+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C250 */
+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam B/C500 */
+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam Pro 9000 */
+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C310 */
+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
+
+ /* Logitech Webcam C270 */
+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Harmony 700-series */
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
@@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = {
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
+ /* Guillemot Webcam Hercules Dualpix Exchange*/
+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* M-Systems Flash Disk Pioneers */
{ USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc
Author: Jon Levell <linuxusb@coralbark.net>
Date: Thu Sep 29 20:42:52 2011 +0100
USB: add quirk for Logitech C300 web cam
My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound.
The following trivial patch fixes it.
Signed-off-by: Jon Levell <linuxusb@coralbark.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 38f0510..d6a8d82 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Logitech Webcam C250 */
{ USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C300 */
+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Webcam B/C500 */
{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index d6a8d82..caa1991 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Logitech Webcam B/C500 */
{ USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Logitech Webcam C600 */
+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech Webcam Pro 9000 */
{ USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },