diff --git a/arch/x86/include/asm/alternative.h b/arch/x86/include/asm/alternative.h index f6aa18e..5afa8d2 100644 --- a/arch/x86/include/asm/alternative.h +++ b/arch/x86/include/asm/alternative.h @@ -35,7 +35,11 @@ "661:\n\tlock; " #else /* ! CONFIG_SMP */ +# ifdef CONFIG_MVIAC7 /* C7-M is in-order retirement */ +#define LOCK_PREFIX "\n\tlock; " +# else #define LOCK_PREFIX "" +# endif #endif /* This must be included *after* the definition of LOCK_PREFIX */ diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h index b7e5db8..6226945 100644 --- a/arch/x86/include/asm/spinlock.h +++ b/arch/x86/include/asm/spinlock.h @@ -27,6 +27,8 @@ # define REG_PTR_MODE "q" #endif +#if 0 /* Don't trash the other settings */ + #if defined(CONFIG_X86_32) && \ (defined(CONFIG_X86_OOSTORE) || defined(CONFIG_X86_PPRO_FENCE)) /* @@ -38,6 +40,10 @@ # define UNLOCK_LOCK_PREFIX #endif +#endif + +# define UNLOCK_LOCK_PREFIX LOCK_PREFIX + /* * Ticket locks are conceptually two parts, one indicating the current head of * the queue, and the other indicating the current tail. The lock is acquired diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c index 2202b62..fb80148 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c @@ -426,11 +426,14 @@ int __init pcibios_init(void) * and P4. It's also good for 386/486s (which actually have 16) * as quite a few PCI devices do not support smaller values. */ - pci_cache_line_size = 32 >> 2; - if (c->x86 >= 6 && c->x86_vendor == X86_VENDOR_AMD) - pci_cache_line_size = 64 >> 2; /* K7 & K8 */ - else if (c->x86 > 6 && c->x86_vendor == X86_VENDOR_INTEL) - pci_cache_line_size = 128 >> 2; /* P4 */ + if (c->x86_clflush_size > 0) { + pci_cache_line_size = c->x86_clflush_size >> 2; + printk(KERN_DEBUG "PCI: pci_cache_line_size set for %d byte cache\n", + c->x86_clflush_size); + } else { + pci_cache_line_size = 32 >>2; + printk(KERN_DEBUG "PCI: pci_cache_line_size defaulted to 32 byte cache\n"); + } pcibios_resource_survey(); diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index d9233ec..2681dfa 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c @@ -216,7 +216,7 @@ minstrel_get_next_sample(struct minstrel_sta_info *mi) unsigned int sample_ndx; sample_ndx = SAMPLE_TBL(mi, mi->sample_idx, mi->sample_column); mi->sample_idx++; - if (mi->sample_idx > (mi->n_rates - 2)) { + if ((int) mi->sample_idx > (mi->n_rates - 2)) { mi->sample_idx = 0; mi->sample_column++; if (mi->sample_column >= SAMPLE_COLUMNS)