Re: Linux 3.0.61
diff --git a/Makefile b/Makefile index 3359fcf..2d64957 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 3 PATCHLEVEL = 0 -SUBLEVEL = 60 +SUBLEVEL = 61 EXTRAVERSION = NAME = Sneaky Weasel diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h index 0310da6..1d44903 100644 --- a/arch/x86/include/asm/traps.h +++ b/arch/x86/include/asm/traps.h @@ -1,6 +1,7 @@ #ifndef _ASM_X86_TRAPS_H #define _ASM_X86_TRAPS_H +#include #include #include/* TRAP_TRACE, ... */ @@ -87,4 +88,29 @@ asmlinkage void smp_thermal_interrupt(void); asmlinkage void mce_threshold_interrupt(void); #endif +/* Interrupts/Exceptions */ +enum { + X86_TRAP_DE = 0,/* 0, Divide-by-zero */ + X86_TRAP_DB,/* 1, Debug */ + X86_TRAP_NMI, /* 2, Non-maskable Interrupt */ + X86_TRAP_BP,/* 3, Breakpoint */ + X86_TRAP_OF,/* 4, Overflow */ + X86_TRAP_BR,/* 5, Bound Range Exceeded */ + X86_TRAP_UD,/* 6, Invalid Opcode */ + X86_TRAP_NM,/* 7, Device Not Available */ + X86_TRAP_DF,/* 8, Double Fault */ + X86_TRAP_OLD_MF,/* 9, Coprocessor Segment Overrun */ + X86_TRAP_TS,/* 10, Invalid TSS */ + X86_TRAP_NP,/* 11, Segment Not Present */ + X86_TRAP_SS,/* 12, Stack Segment Fault */ + X86_TRAP_GP,/* 13, General Protection Fault */ + X86_TRAP_PF,/* 14, Page Fault */ + X86_TRAP_SPURIOUS, /* 15, Spurious Interrupt */ + X86_TRAP_MF,/* 16, x87 Floating-Point Exception */ + X86_TRAP_AC,/* 17, Alignment Check */ + X86_TRAP_MC,/* 18, Machine Check */ + X86_TRAP_XF,/* 19, SIMD Floating-Point Exception */ + X86_TRAP_IRET = 32, /* 32, IRET Exception */ +}; + #endif /* _ASM_X86_TRAPS_H */ diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 431ab11..65976cb 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -991,6 +991,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr) return -EINVAL; } + if (!dev) + return -EINVAL; + dev->cpu = pr->id; for (i = 0; i < CPUIDLE_STATE_MAX; i++) { dev->states[i].name[0] = '\0'; diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 8300250..75a8d0f 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -402,6 +402,12 @@ static const struct pci_device_id ahci_pci_tbl[] = { /* Promise */ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ + /* Asmedia */ + { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */ + { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */ + /* Generic, PCI class code for AHCI */ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_SATA_AHCI, 0xff, board_ahci }, diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c index d845dc4..6e33926 100644 --- a/drivers/dma/ioat/dma_v3.c +++ b/drivers/dma/ioat/dma_v3.c @@ -949,7 +949,7 @@ static int __devinit ioat_xor_val_self_test(struct ioatdma_device *device) goto free_resources; } } - dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_TO_DEVICE); + dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_FROM_DEVICE); /* skip validate if the capability is not present */ if (!dma_has_cap(DMA_XOR_VAL, dma_chan->device->cap_mask)) diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 02a52d1..66b6315 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -16,6 +16,7 @@ */ static char dmi_empty_string[] = ""; +static u16 __initdata dmi_ver; /* * Catch too early calls to dmi_check_system(): */ @@ -118,12 +119,12 @@ static int __init dmi_walk_early(void (*decode)(const struct dmi_header *, return 0; } -static int __init dmi_checksum(const u8 *buf) +static int __init dmi_checksum(const u8 *buf, u8 len) { u8 sum = 0; int a; - for (a = 0; a < 15; a++) + for (a = 0; a < len; a++) sum += buf[a]; return sum == 0; @@ -161,8 +162,10 @@ static void __init dmi_save_uuid(const struct dmi_header *dm, int slot, int inde return; for (i = 0; i < 16 && (is_ff || is_00); i++) { - if(d[i] != 0x00) is_ff = 0; - if(d[i] != 0xFF) is_00 = 0; + if (d[i] != 0x00) + is_00 = 0; + if (d[i] != 0xFF) + is_ff = 0; }
Linux 3.0.61
I'm announcing the release of the 3.0.61 kernel. All users of the 3.0 kernel series must upgrade. The updated 3.0.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.0.y and can be browsed at the normal kernel.org git web browser: http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary thanks, greg k-h Makefile |2 arch/x86/include/asm/traps.h | 26 + drivers/acpi/processor_idle.c |3 + drivers/ata/ahci.c |6 ++ drivers/dma/ioat/dma_v3.c |2 drivers/firmware/dmi_scan.c| 78 ++--- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 21 +++ drivers/gpu/drm/i915/i915_reg.h|3 + drivers/gpu/drm/i915/intel_display.c |4 + drivers/misc/sgi-xp/xpc_main.c | 34 +++- drivers/pci/pcie/aspm.c|3 + drivers/scsi/sd.c | 13 ++-- drivers/staging/usbip/usbip_common.c | 11 +--- drivers/staging/usbip/usbip_common.h |2 drivers/staging/usbip/vhci_rx.c|3 - drivers/tty/serial/8250.c |2 drivers/usb/host/uhci-hcd.c| 15 +++-- include/linux/pci_ids.h|2 kernel/trace/ftrace.c |2 19 files changed, 188 insertions(+), 44 deletions(-) Alan Cox (1): ahci: Add identifiers for ASM106x devices Alan Stern (1): USB: UHCI: fix IRQ race during initialization Bart Westgeest (1): staging: usbip: changed function return type to void Chris Wilson (1): drm/i915: Invalidate the relocation presumed_offsets along the slow path Colin Ian King (1): PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported Daniel Vetter (1): drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled Greg Kroah-Hartman (1): Linux 3.0.61 Jiri Slaby (1): serial: 8250, increase PASS_LIMIT Joel D. Diaz (1): SCSI: sd: Reshuffle init_sd to avoid crash Kees Cook (1): x86: Use enum instead of literals for trap values [PARTIAL] Konrad Rzeszutek Wilk (1): ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled Robin Holt (1): SGI-XP: handle non-fatal traps Shuah Khan (1): ioat: Fix DMA memory sync direction correct flag Steven Rostedt (1): ftrace: Be first to run code modification on modules Zhenzhong Duan (2): drivers/firmware/dmi_scan.c: check dmi version when get system uuid drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists pgpou2Lj7aCSK.pgp Description: PGP signature
Linux 3.0.61
I'm announcing the release of the 3.0.61 kernel. All users of the 3.0 kernel series must upgrade. The updated 3.0.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.0.y and can be browsed at the normal kernel.org git web browser: http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary thanks, greg k-h Makefile |2 arch/x86/include/asm/traps.h | 26 + drivers/acpi/processor_idle.c |3 + drivers/ata/ahci.c |6 ++ drivers/dma/ioat/dma_v3.c |2 drivers/firmware/dmi_scan.c| 78 ++--- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 21 +++ drivers/gpu/drm/i915/i915_reg.h|3 + drivers/gpu/drm/i915/intel_display.c |4 + drivers/misc/sgi-xp/xpc_main.c | 34 +++- drivers/pci/pcie/aspm.c|3 + drivers/scsi/sd.c | 13 ++-- drivers/staging/usbip/usbip_common.c | 11 +--- drivers/staging/usbip/usbip_common.h |2 drivers/staging/usbip/vhci_rx.c|3 - drivers/tty/serial/8250.c |2 drivers/usb/host/uhci-hcd.c| 15 +++-- include/linux/pci_ids.h|2 kernel/trace/ftrace.c |2 19 files changed, 188 insertions(+), 44 deletions(-) Alan Cox (1): ahci: Add identifiers for ASM106x devices Alan Stern (1): USB: UHCI: fix IRQ race during initialization Bart Westgeest (1): staging: usbip: changed function return type to void Chris Wilson (1): drm/i915: Invalidate the relocation presumed_offsets along the slow path Colin Ian King (1): PCI: Allow pcie_aspm=force even when FADT indicates it is unsupported Daniel Vetter (1): drm/i915: Implement WaDisableHiZPlanesWhenMSAAEnabled Greg Kroah-Hartman (1): Linux 3.0.61 Jiri Slaby (1): serial: 8250, increase PASS_LIMIT Joel D. Diaz (1): SCSI: sd: Reshuffle init_sd to avoid crash Kees Cook (1): x86: Use enum instead of literals for trap values [PARTIAL] Konrad Rzeszutek Wilk (1): ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled Robin Holt (1): SGI-XP: handle non-fatal traps Shuah Khan (1): ioat: Fix DMA memory sync direction correct flag Steven Rostedt (1): ftrace: Be first to run code modification on modules Zhenzhong Duan (2): drivers/firmware/dmi_scan.c: check dmi version when get system uuid drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists pgpou2Lj7aCSK.pgp Description: PGP signature
Re: Linux 3.0.61
diff --git a/Makefile b/Makefile index 3359fcf..2d64957 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 3 PATCHLEVEL = 0 -SUBLEVEL = 60 +SUBLEVEL = 61 EXTRAVERSION = NAME = Sneaky Weasel diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h index 0310da6..1d44903 100644 --- a/arch/x86/include/asm/traps.h +++ b/arch/x86/include/asm/traps.h @@ -1,6 +1,7 @@ #ifndef _ASM_X86_TRAPS_H #define _ASM_X86_TRAPS_H +#include linux/kprobes.h #include asm/debugreg.h #include asm/siginfo.h /* TRAP_TRACE, ... */ @@ -87,4 +88,29 @@ asmlinkage void smp_thermal_interrupt(void); asmlinkage void mce_threshold_interrupt(void); #endif +/* Interrupts/Exceptions */ +enum { + X86_TRAP_DE = 0,/* 0, Divide-by-zero */ + X86_TRAP_DB,/* 1, Debug */ + X86_TRAP_NMI, /* 2, Non-maskable Interrupt */ + X86_TRAP_BP,/* 3, Breakpoint */ + X86_TRAP_OF,/* 4, Overflow */ + X86_TRAP_BR,/* 5, Bound Range Exceeded */ + X86_TRAP_UD,/* 6, Invalid Opcode */ + X86_TRAP_NM,/* 7, Device Not Available */ + X86_TRAP_DF,/* 8, Double Fault */ + X86_TRAP_OLD_MF,/* 9, Coprocessor Segment Overrun */ + X86_TRAP_TS,/* 10, Invalid TSS */ + X86_TRAP_NP,/* 11, Segment Not Present */ + X86_TRAP_SS,/* 12, Stack Segment Fault */ + X86_TRAP_GP,/* 13, General Protection Fault */ + X86_TRAP_PF,/* 14, Page Fault */ + X86_TRAP_SPURIOUS, /* 15, Spurious Interrupt */ + X86_TRAP_MF,/* 16, x87 Floating-Point Exception */ + X86_TRAP_AC,/* 17, Alignment Check */ + X86_TRAP_MC,/* 18, Machine Check */ + X86_TRAP_XF,/* 19, SIMD Floating-Point Exception */ + X86_TRAP_IRET = 32, /* 32, IRET Exception */ +}; + #endif /* _ASM_X86_TRAPS_H */ diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 431ab11..65976cb 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -991,6 +991,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr) return -EINVAL; } + if (!dev) + return -EINVAL; + dev-cpu = pr-id; for (i = 0; i CPUIDLE_STATE_MAX; i++) { dev-states[i].name[0] = '\0'; diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 8300250..75a8d0f 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -402,6 +402,12 @@ static const struct pci_device_id ahci_pci_tbl[] = { /* Promise */ { PCI_VDEVICE(PROMISE, 0x3f20), board_ahci }, /* PDC42819 */ + /* Asmedia */ + { PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM1060 */ + { PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */ + { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */ + /* Generic, PCI class code for AHCI */ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_SATA_AHCI, 0xff, board_ahci }, diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c index d845dc4..6e33926 100644 --- a/drivers/dma/ioat/dma_v3.c +++ b/drivers/dma/ioat/dma_v3.c @@ -949,7 +949,7 @@ static int __devinit ioat_xor_val_self_test(struct ioatdma_device *device) goto free_resources; } } - dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_TO_DEVICE); + dma_sync_single_for_device(dev, dest_dma, PAGE_SIZE, DMA_FROM_DEVICE); /* skip validate if the capability is not present */ if (!dma_has_cap(DMA_XOR_VAL, dma_chan-device-cap_mask)) diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 02a52d1..66b6315 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -16,6 +16,7 @@ */ static char dmi_empty_string[] = ; +static u16 __initdata dmi_ver; /* * Catch too early calls to dmi_check_system(): */ @@ -118,12 +119,12 @@ static int __init dmi_walk_early(void (*decode)(const struct dmi_header *, return 0; } -static int __init dmi_checksum(const u8 *buf) +static int __init dmi_checksum(const u8 *buf, u8 len) { u8 sum = 0; int a; - for (a = 0; a 15; a++) + for (a = 0; a len; a++) sum += buf[a]; return sum == 0; @@ -161,8 +162,10 @@ static void __init dmi_save_uuid(const struct dmi_header *dm, int slot, int inde return; for (i = 0; i 16 (is_ff || is_00); i++) { - if(d[i] != 0x00) is_ff = 0; - if(d[i] != 0xFF) is_00 = 0; + if (d[i] != 0x00) + is_00 = 0; + if (d[i] != 0xFF) +