Fix FS#19234, FS#26674, FS#25939, FS#26528 and a wrong drm error
This commit is contained in:
parent
21d06cdf91
commit
f86ef3da33
45
PKGBUILD
45
PKGBUILD
@ -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
1487
dib0700-fix.patch
Normal file
File diff suppressed because it is too large
Load Diff
26
i915-fix-ghost-tv-output.patch
Normal file
26
i915-fix-ghost-tv-output.patch
Normal 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);
|
22
i915-fix-incorrect-error-message.patch
Normal file
22
i915-fix-incorrect-error-message.patch
Normal 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;
|
||||
}
|
||||
}
|
38
iwlagn-fix-NULL-pointer-dereference.patch
Normal file
38
iwlagn-fix-NULL-pointer-dereference.patch
Normal 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
|
@ -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
|
||||
|
99
usb-add-reset-resume-quirk-for-several-webcams.patch
Normal file
99
usb-add-reset-resume-quirk-for-several-webcams.patch
Normal 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 },
|
||||
|
Loading…
Reference in New Issue
Block a user