Linux 2.6.38.7-rc1
Fix up context in utrace-ptrace.patch Revert radeon patches already in our radeon update: drm-radeon-kms-fix-gart-setup-on-fusion-parts-v2-backport.patch Drop merged patches: iwlwifi-add-_ack_plpc_check-module-parameters.patch
This commit is contained in:
parent
6c43c19fb8
commit
cdf695a919
|
@ -1,96 +0,0 @@
|
|||
From sgruszka@redhat.com Mon May 9 15:27:33 2011
|
||||
From: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
To: kernel@lists.fedoraproject.org, stable@kernel.org
|
||||
Cc: Kyle McMartin <kmcmartin@redhat.com>,
|
||||
Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
Subject: [PATCH 2.6.38] iwlwifi: add {ack,plpc}_check module parameters
|
||||
Date: Mon, 9 May 2011 21:27:30 +0200
|
||||
Message-Id: <1304969250-27725-1-git-send-email-sgruszka@redhat.com>
|
||||
|
||||
commit b7977ffaab5187ad75edaf04ac854615cea93828 upstream.
|
||||
|
||||
Add module ack_check, and plcp_check parameters. Ack_check is disabled
|
||||
by default since is proved that check ack health can cause troubles.
|
||||
Plcp_check is enabled by default.
|
||||
|
||||
This prevent connection hangs with "low ack count detected" messages.
|
||||
|
||||
Resolves:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=666646
|
||||
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 1 +
|
||||
drivers/net/wireless/iwlwifi/iwl-agn.c | 6 ++++++
|
||||
drivers/net/wireless/iwlwifi/iwl-core.h | 2 ++
|
||||
drivers/net/wireless/iwlwifi/iwl-rx.c | 8 ++++++--
|
||||
4 files changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
|
||||
index 3dee87e..d9c87b3 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
|
||||
@@ -604,6 +604,7 @@ const u8 *iwlagn_eeprom_query_addr(const struct iwl_priv *priv,
|
||||
struct iwl_mod_params iwlagn_mod_params = {
|
||||
.amsdu_size_8K = 1,
|
||||
.restart_fw = 1,
|
||||
+ .plcp_check = true,
|
||||
/* the rest are 0 by default */
|
||||
};
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
|
||||
index 35239f0..be07643 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
|
||||
@@ -4586,3 +4586,9 @@ MODULE_PARM_DESC(antenna_coupling,
|
||||
module_param_named(bt_ch_inhibition, iwlagn_bt_ch_announce, bool, S_IRUGO);
|
||||
MODULE_PARM_DESC(bt_ch_inhibition,
|
||||
"Disable BT channel inhibition (default: enable)");
|
||||
+
|
||||
+module_param_named(plcp_check, iwlagn_mod_params.plcp_check, bool, S_IRUGO);
|
||||
+MODULE_PARM_DESC(plcp_check, "Check plcp health (default: 1 [enabled])");
|
||||
+
|
||||
+module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO);
|
||||
+MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])");
|
||||
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
|
||||
index a347437..5c0d5f7 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
|
||||
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
|
||||
@@ -263,6 +263,8 @@ struct iwl_mod_params {
|
||||
int amsdu_size_8K; /* def: 1 = enable 8K amsdu size */
|
||||
int antenna; /* def: 0 = both antennas (use diversity) */
|
||||
int restart_fw; /* def: 1 = restart firmware */
|
||||
+ bool plcp_check; /* def: true = enable plcp health check */
|
||||
+ bool ack_check; /* def: false = disable ack health check */
|
||||
};
|
||||
|
||||
/*
|
||||
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c
|
||||
index 87a6fd8..b707617 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/iwl-rx.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/iwl-rx.c
|
||||
@@ -234,10 +234,13 @@ EXPORT_SYMBOL(iwl_rx_spectrum_measure_notif);
|
||||
void iwl_recover_from_statistics(struct iwl_priv *priv,
|
||||
struct iwl_rx_packet *pkt)
|
||||
{
|
||||
+ const struct iwl_mod_params *mod_params = priv->cfg->mod_params;
|
||||
+
|
||||
if (test_bit(STATUS_EXIT_PENDING, &priv->status))
|
||||
return;
|
||||
if (iwl_is_any_associated(priv)) {
|
||||
- if (priv->cfg->ops->lib->check_ack_health) {
|
||||
+ if (mod_params->ack_check &&
|
||||
+ priv->cfg->ops->lib->check_ack_health) {
|
||||
if (!priv->cfg->ops->lib->check_ack_health(
|
||||
priv, pkt)) {
|
||||
/*
|
||||
@@ -250,7 +253,8 @@ void iwl_recover_from_statistics(struct iwl_priv *priv,
|
||||
return;
|
||||
}
|
||||
}
|
||||
- if (priv->cfg->ops->lib->check_plcp_health) {
|
||||
+ if (mod_params->plcp_check &&
|
||||
+ priv->cfg->ops->lib->check_plcp_health) {
|
||||
if (!priv->cfg->ops->lib->check_plcp_health(
|
||||
priv, pkt)) {
|
||||
/*
|
20
kernel.spec
20
kernel.spec
|
@ -51,7 +51,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be prepended with "0.", so
|
||||
# for example a 3 here will become 0.3
|
||||
#
|
||||
%global baserelease 27
|
||||
%global baserelease 28
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -63,9 +63,9 @@ Summary: The Linux kernel
|
|||
%if 0%{?released_kernel}
|
||||
|
||||
# Do we have a -stable update to apply?
|
||||
%define stable_update 6
|
||||
%define stable_update 7
|
||||
# Is it a -stable RC?
|
||||
%define stable_rc 0
|
||||
%define stable_rc 1
|
||||
# Set rpm version accordingly
|
||||
%if 0%{?stable_update}
|
||||
%define stablerev .%{stable_update}
|
||||
|
@ -741,9 +741,6 @@ Patch12403: x86-dumpstack-correct-stack-dump-info-when-frame-pointer-is-availabl
|
|||
# Fix breakage of PCI network adapter names on older Dell systems
|
||||
Patch12404: x86-pci-preserve-existing-pci-bfsort-whitelist-for-dell-systems.patch
|
||||
|
||||
# iwlwifi: add {ack,plpc}_check module parameters (#666646)
|
||||
Patch12405: iwlwifi-add-_ack_plpc_check-module-parameters.patch
|
||||
|
||||
# intel_ips driver bug (#703511) causes cooling fan to run
|
||||
Patch12406: ips-use-interruptible-waits-in-ips-monitor.patch
|
||||
|
||||
|
@ -1383,9 +1380,6 @@ ApplyPatch linux-2.6-netconsole-deadlock.patch
|
|||
# CVE-2011-1581
|
||||
ApplyPatch bonding-incorrect-tx-queue-offset.patch
|
||||
|
||||
# iwlwifi: add {ack,plpc}_check module parameters (#666646) queued for stable
|
||||
ApplyPatch iwlwifi-add-_ack_plpc_check-module-parameters.patch
|
||||
|
||||
# intel_ips driver bug (#703511) causes cooling fan to run
|
||||
ApplyPatch ips-use-interruptible-waits-in-ips-monitor.patch
|
||||
|
||||
|
@ -1999,6 +1993,14 @@ fi
|
|||
# and build.
|
||||
|
||||
%changelog
|
||||
* Fri May 20 2011 Chuck Ebbert <cebbert@redhat.com>
|
||||
- Linux 2.6.38.7-rc1
|
||||
- Fix up context in utrace-ptrace.patch
|
||||
- Revert radeon patches already in our radeon update:
|
||||
drm-radeon-kms-fix-gart-setup-on-fusion-parts-v2-backport.patch
|
||||
- Drop merged patches:
|
||||
iwlwifi-add-_ack_plpc_check-module-parameters.patch
|
||||
|
||||
* Fri May 13 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38.6-28
|
||||
- [fabbione@] Fix a deadlock when using hp_sw with an HP san.
|
||||
(7a1e9d82 upstream)
|
||||
|
|
|
@ -1 +1,99 @@
|
|||
nil
|
||||
From alexdeucher@gmail.com Mon May 9 16:35:34 2011
|
||||
From: Alex Deucher <alexdeucher@gmail.com>
|
||||
Date: Fri, 6 May 2011 14:29:55 -0400
|
||||
Subject: [stable] [PATCH] drm/radeon/kms: fix gart setup on fusion parts (v2) backport
|
||||
To: stable@kernel.org
|
||||
Cc: Alex Deucher <alexdeucher@gmail.com>, airlied@redhat.com, gregkh@suse.de
|
||||
Message-ID: <1304706595-9781-1-git-send-email-alexdeucher@gmail.com>
|
||||
|
||||
From: Alex Deucher <alexdeucher@gmail.com>
|
||||
|
||||
Backport of 8aeb96f80232e9a701b5c4715504f4c9173978bd
|
||||
(drm/radeon/kms: fix gart setup on fusion parts (v2))
|
||||
to the stable tree.
|
||||
|
||||
Out of the entire GART/VM subsystem, the hw designers changed
|
||||
the location of 3 regs.
|
||||
|
||||
v2: airlied: add parameter for userspace to work from.
|
||||
|
||||
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
||||
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/gpu/drm/radeon/evergreen.c | 17 +++++++++--------
|
||||
drivers/gpu/drm/radeon/evergreend.h | 5 +++++
|
||||
drivers/gpu/drm/radeon/radeon_kms.c | 3 +++
|
||||
include/drm/radeon_drm.h | 1 +
|
||||
4 files changed, 18 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/gpu/drm/radeon/evergreen.c
|
||||
+++ b/drivers/gpu/drm/radeon/evergreen.c
|
||||
@@ -869,9 +869,15 @@ int evergreen_pcie_gart_enable(struct ra
|
||||
SYSTEM_ACCESS_MODE_NOT_IN_SYS |
|
||||
SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU |
|
||||
EFFECTIVE_L1_TLB_SIZE(5) | EFFECTIVE_L1_QUEUE_SIZE(5);
|
||||
- WREG32(MC_VM_MD_L1_TLB0_CNTL, tmp);
|
||||
- WREG32(MC_VM_MD_L1_TLB1_CNTL, tmp);
|
||||
- WREG32(MC_VM_MD_L1_TLB2_CNTL, tmp);
|
||||
+ if (rdev->flags & RADEON_IS_IGP) {
|
||||
+ WREG32(FUS_MC_VM_MD_L1_TLB0_CNTL, tmp);
|
||||
+ WREG32(FUS_MC_VM_MD_L1_TLB1_CNTL, tmp);
|
||||
+ WREG32(FUS_MC_VM_MD_L1_TLB2_CNTL, tmp);
|
||||
+ } else {
|
||||
+ WREG32(MC_VM_MD_L1_TLB0_CNTL, tmp);
|
||||
+ WREG32(MC_VM_MD_L1_TLB1_CNTL, tmp);
|
||||
+ WREG32(MC_VM_MD_L1_TLB2_CNTL, tmp);
|
||||
+ }
|
||||
WREG32(MC_VM_MB_L1_TLB0_CNTL, tmp);
|
||||
WREG32(MC_VM_MB_L1_TLB1_CNTL, tmp);
|
||||
WREG32(MC_VM_MB_L1_TLB2_CNTL, tmp);
|
||||
@@ -2930,11 +2936,6 @@ static int evergreen_startup(struct rade
|
||||
rdev->asic->copy = NULL;
|
||||
dev_warn(rdev->dev, "failed blitter (%d) falling back to memcpy\n", r);
|
||||
}
|
||||
- /* XXX: ontario has problems blitting to gart at the moment */
|
||||
- if (rdev->family == CHIP_PALM) {
|
||||
- rdev->asic->copy = NULL;
|
||||
- radeon_ttm_set_active_vram_size(rdev, rdev->mc.visible_vram_size);
|
||||
- }
|
||||
|
||||
/* allocate wb buffer */
|
||||
r = radeon_wb_init(rdev);
|
||||
--- a/drivers/gpu/drm/radeon/evergreend.h
|
||||
+++ b/drivers/gpu/drm/radeon/evergreend.h
|
||||
@@ -221,6 +221,11 @@
|
||||
#define MC_VM_MD_L1_TLB0_CNTL 0x2654
|
||||
#define MC_VM_MD_L1_TLB1_CNTL 0x2658
|
||||
#define MC_VM_MD_L1_TLB2_CNTL 0x265C
|
||||
+
|
||||
+#define FUS_MC_VM_MD_L1_TLB0_CNTL 0x265C
|
||||
+#define FUS_MC_VM_MD_L1_TLB1_CNTL 0x2660
|
||||
+#define FUS_MC_VM_MD_L1_TLB2_CNTL 0x2664
|
||||
+
|
||||
#define MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR 0x203C
|
||||
#define MC_VM_SYSTEM_APERTURE_HIGH_ADDR 0x2038
|
||||
#define MC_VM_SYSTEM_APERTURE_LOW_ADDR 0x2034
|
||||
--- a/drivers/gpu/drm/radeon/radeon_kms.c
|
||||
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
|
||||
@@ -205,6 +205,9 @@ int radeon_info_ioctl(struct drm_device
|
||||
/* return clock value in KHz */
|
||||
value = rdev->clock.spll.reference_freq * 10;
|
||||
break;
|
||||
+ case RADEON_INFO_FUSION_GART_WORKING:
|
||||
+ value = 1;
|
||||
+ break;
|
||||
default:
|
||||
DRM_DEBUG_KMS("Invalid request %d\n", info->request);
|
||||
return -EINVAL;
|
||||
--- a/include/drm/radeon_drm.h
|
||||
+++ b/include/drm/radeon_drm.h
|
||||
@@ -908,6 +908,7 @@ struct drm_radeon_cs {
|
||||
#define RADEON_INFO_WANT_HYPERZ 0x07
|
||||
#define RADEON_INFO_WANT_CMASK 0x08 /* get access to CMASK on r300 */
|
||||
#define RADEON_INFO_CLOCK_CRYSTAL_FREQ 0x09 /* clock crystal frequency */
|
||||
+#define RADEON_INFO_FUSION_GART_WORKING 0x0c /* fusion writes to GTT were broken before this */
|
||||
|
||||
struct drm_radeon_info {
|
||||
uint32_t request;
|
||||
|
|
|
@ -1249,8 +1249,8 @@ index e275608..72ea65c 100644
|
|||
#include <linux/signal.h>
|
||||
#include <linux/audit.h>
|
||||
@@ -24,7 +23,320 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/regset.h>
|
||||
#include <linux/hw_breakpoint.h>
|
||||
|
||||
+int __ptrace_may_access(struct task_struct *task, unsigned int mode)
|
||||
+{
|
||||
|
@ -1955,7 +1955,7 @@ index e275608..72ea65c 100644
|
|||
int compat_ptrace_request(struct task_struct *child, compat_long_t request,
|
||||
compat_ulong_t addr, compat_ulong_t data)
|
||||
{
|
||||
@@ -851,42 +876,5 @@ int compat_ptrace_request(struct task_st
|
||||
@@ -851,45 +876,8 @@ int compat_ptrace_request(struct task_st
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -1999,6 +1999,9 @@ index e275608..72ea65c 100644
|
|||
-}
|
||||
#endif /* CONFIG_COMPAT */
|
||||
+#endif /* CONFIG_UTRACE */
|
||||
|
||||
#ifdef CONFIG_HAVE_HW_BREAKPOINT
|
||||
int ptrace_get_breakpoints(struct task_struct *tsk)
|
||||
diff --git a/kernel/utrace.c b/kernel/utrace.c
|
||||
index 26d6faf..37dce16 100644
|
||||
--- a/kernel/utrace.c
|
||||
|
|
|
@ -2,20 +2,21 @@ diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
|
|||
index e567302..261638a 100644
|
||||
--- a/drivers/scsi/sd.c
|
||||
+++ b/drivers/scsi/sd.c
|
||||
@@ -1988,11 +1988,11 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer)
|
||||
@@ -1956,12 +1956,12 @@ sd_read_cache_type(struct scsi_disk *sdk
|
||||
int offset = data.header_length + data.block_descriptor_length;
|
||||
|
||||
if (offset >= SD_BUF_SIZE - 2) {
|
||||
- sd_printk(KERN_ERR, sdkp, "Malformed MODE SENSE response\n");
|
||||
+ sd_printk(KERN_NOTICE, sdkp, "Malformed MODE SENSE response\n");
|
||||
goto defaults;
|
||||
}
|
||||
|
||||
if (modepage == 0x3F) {
|
||||
- sd_printk(KERN_ERR, sdkp, "No Caching mode page "
|
||||
+ sd_printk(KERN_NOTICE, sdkp, "No Caching mode page "
|
||||
"present\n");
|
||||
goto defaults;
|
||||
} else if ((buffer[offset] & 0x3f) != modepage) {
|
||||
if ((buffer[offset] & 0x3f) != modepage) {
|
||||
- sd_printk(KERN_ERR, sdkp, "Got wrong page\n");
|
||||
+ sd_printk(KERN_NOTICE, sdkp, "Got wrong page\n");
|
||||
goto defaults;
|
||||
}
|
||||
Page_found:
|
||||
|
||||
@@ -2033,7 +2033,7 @@ bad_sense:
|
||||
sd_printk(KERN_ERR, sdkp, "Asking for cache data failed\n");
|
||||
|
||||
|
|
Loading…
Reference in New Issue