neofb: Fix pseudo_palette array overrun in neofb_setcolreg
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2b7d2e97edcad0e95ae0d3c253d3f2f69254fa4 Commit: a2b7d2e97edcad0e95ae0d3c253d3f2f69254fa4 Parent: 3f0a6766e0cc5a577805732e5adb50a585c58175 Author: Antonino A. Daplas [EMAIL PROTECTED] AuthorDate: Thu May 31 14:04:57 2007 +0800 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:48:27 2007 -0700 neofb: Fix pseudo_palette array overrun in neofb_setcolreg The pseudo_palette has room for 16 entries only, but in truecolor mode, it attempts to write 256. Signed-off-by: Antonino Daplas [EMAIL PROTECTED] Acked-by: Tero Roponen [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/video/neofb.c | 30 -- 1 files changed, 16 insertions(+), 14 deletions(-) diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c index bd30aba..731d7a5 100644 --- a/drivers/video/neofb.c +++ b/drivers/video/neofb.c @@ -1286,34 +1286,36 @@ static int neofb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, if (regno = fb-cmap.len || regno 255) return -EINVAL; - switch (fb-var.bits_per_pixel) { - case 8: + if (fb-var.bits_per_pixel = 8) { outb(regno, 0x3c8); outb(red 10, 0x3c9); outb(green 10, 0x3c9); outb(blue 10, 0x3c9); - break; - case 16: - ((u32 *) fb-pseudo_palette)[regno] = + } else if (regno 16) { + switch (fb-var.bits_per_pixel) { + case 16: + ((u32 *) fb-pseudo_palette)[regno] = ((red 0xf800)) | ((green 0xfc00) 5) | ((blue 0xf800) 11); - break; - case 24: - ((u32 *) fb-pseudo_palette)[regno] = + break; + case 24: + ((u32 *) fb-pseudo_palette)[regno] = ((red 0xff00) 8) | ((green 0xff00)) | ((blue 0xff00) 8); - break; + break; #ifdef NO_32BIT_SUPPORT_YET - case 32: - ((u32 *) fb-pseudo_palette)[regno] = + case 32: + ((u32 *) fb-pseudo_palette)[regno] = ((transp 0xff00) 16) | ((red 0xff00) 8) | ((green 0xff00)) | ((blue 0xff00) 8); - break; + break; #endif - default: - return 1; + default: + return 1; + } } + return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
at91: fix enable/disable_irq_wake symmetry in pcmcia driver
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9af20376ee65cd2d13f7eb587fab70879d8c355b Commit: 9af20376ee65cd2d13f7eb587fab70879d8c355b Parent: 8387c1a46376b8cfc5f4751b27a6c90f930992cf Author: Marc Pignat [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:44 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:13 2007 -0700 at91: fix enable/disable_irq_wake symmetry in pcmcia driver Fix enable_irq_wake and disable_irq_wake symmetry in at91 pcmcia driver disable_irq_wake call must be symmetric with enable_irq_wake. This patch fix that problem for the at91_pcmia driver. It seems that this patch was forgotten when we've fixed irq_wake symmetry in all at91 related drivers. It was discussed in the at91 drivers and [enable/disable]_irq_wake (wrong?) usage thread on the linux-arm-kernel mailing list. Signed-off-by: Marc Pignat [EMAIL PROTECTED] Cc: David Brownell [EMAIL PROTECTED] Cc: Russell King [EMAIL PROTECTED] Cc: Pavel Machek [EMAIL PROTECTED] Cc: Rafael J. Wysocki [EMAIL PROTECTED] Cc: Andrew Victor [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/pcmcia/at91_cf.c | 13 + 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c index 948efc7..eb6abd3 100644 --- a/drivers/pcmcia/at91_cf.c +++ b/drivers/pcmcia/at91_cf.c @@ -336,16 +336,21 @@ static int at91_cf_suspend(struct platform_device *pdev, pm_message_t mesg) enable_irq_wake(board-det_pin); if (board-irq_pin) enable_irq_wake(board-irq_pin); - } else { - disable_irq_wake(board-det_pin); - if (board-irq_pin) - disable_irq_wake(board-irq_pin); } return 0; } static int at91_cf_resume(struct platform_device *pdev) { + struct at91_cf_socket *cf = platform_get_drvdata(pdev); + struct at91_cf_data *board = cf-board; + + if (device_may_wakeup(pdev-dev)) { + disable_irq_wake(board-det_pin); + if (board-irq_pin) + disable_irq_wake(board-irq_pin); + } + pcmcia_socket_dev_resume(pdev-dev); return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
SLUB: More documentation
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1aee215d760175601b820bd1e2f0364e844ff8c Commit: c1aee215d760175601b820bd1e2f0364e844ff8c Parent: 9af20376ee65cd2d13f7eb587fab70879d8c355b Author: Christoph Lameter [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:47 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:13 2007 -0700 SLUB: More documentation Update documentation to describe how to read a SLUB error report. Add slub parameters to Documentation/kernel-parameters. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Cc: Randy.Dunlap [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- Documentation/kernel-parameters.txt | 37 +- Documentation/vm/slub.txt | 135 --- 2 files changed, 158 insertions(+), 14 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index aae2282..ce91560 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -1132,9 +1132,9 @@ and is between 256 and 4096 characters. It is defined in the file when set. Format: int - noaliencache[MM, NUMA] Disables the allcoation of alien caches in - the slab allocator. Saves per-node memory, but will - impact performance on real NUMA hardware. + noaliencache[MM, NUMA, SLAB] Disables the allocation of alien + caches in the slab allocator. Saves per-node memory, + but will impact performance. noalign [KNL,ARM] @@ -1613,6 +1613,37 @@ and is between 256 and 4096 characters. It is defined in the file slram= [HW,MTD] + slub_debug [MM, SLUB] + Enabling slub_debug allows one to determine the culprit + if slab objects become corrupted. Enabling slub_debug + creates guard zones around objects and poisons objects + when not in use. Also tracks the last alloc / free. + For more information see Documentation/vm/slub.txt. + + slub_max_order= [MM, SLUB] + Determines the maximum allowed order for slabs. Setting + this too high may cause fragmentation. + For more information see Documentation/vm/slub.txt. + + slub_min_objects= [MM, SLUB] + The minimum objects per slab. SLUB will increase the + slab order up to slub_max_order to generate a + sufficiently big slab to satisfy the number of objects. + The higher the number of objects the smaller the overhead + of tracking slabs. + For more information see Documentation/vm/slub.txt. + + slub_min_order= [MM, SLUB] + Determines the mininum page order for slabs. Must be + lower than slub_max_order + For more information see Documentation/vm/slub.txt. + + slub_nomerge[MM, SLUB] + Disable merging of slabs of similar size. May be + necessary if there is some reason to distinguish + allocs to different slabs. + For more information see Documentation/vm/slub.txt. + smart2= [HW] Format: io1[,io2[,...,io8]] diff --git a/Documentation/vm/slub.txt b/Documentation/vm/slub.txt index 727c8d8..1523320 100644 --- a/Documentation/vm/slub.txt +++ b/Documentation/vm/slub.txt @@ -1,13 +1,9 @@ Short users guide for SLUB -- -First of all slub should transparently replace SLAB. If you enable -SLUB then everything should work the same (Note the word should. -There is likely not much value in that word at this point). - The basic philosophy of SLUB is very different from SLAB. SLAB requires rebuilding the kernel to activate debug options for all -SLABS. SLUB always includes full debugging but its off by default. +slab caches. SLUB always includes full debugging but it is off by default. SLUB can enable debugging only for selected slabs in order to avoid an impact on overall system performance which may make a bug more difficult to find. @@ -76,13 +72,28 @@ of objects. Careful with tracing: It may spew out lots of information and never stop if used on the wrong slab. -SLAB Merging +Slab merging -If no debugging is specified then SLUB may merge similar slabs together +If no debug options are specified then SLUB may merge similar slabs together in order to reduce overhead and increase cache hotness of objects. slabinfo -a
pci-quirks: fix MSI disabling on RS400-200 and RS480
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebdf7d399e67499dbd2a6b5154805fb049846cbb Commit: ebdf7d399e67499dbd2a6b5154805fb049846cbb Parent: c1aee215d760175601b820bd1e2f0364e844ff8c Author: Tejun Heo [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:48 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:13 2007 -0700 pci-quirks: fix MSI disabling on RS400-200 and RS480 Commit c0affe9db42bf85f4a606b3262c35ec59a5d3788 doesn't work because the host controller is being quirked not a PCI bridge. This patch reverts the commit, rename quirk_svw_msi() to quirk_disable_all_msi() and use it instead. Signed-off-by: Tejun Heo [EMAIL PROTECTED] Cc: Matias Alejandro Torres [EMAIL PROTECTED] Cc: Greg K-H [EMAIL PROTECTED] Cc: Jeff Garzik [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/pci/quirks.c | 18 +- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 6ccc2e9..1cff65f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1625,18 +1625,20 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE, quirk_nvidia_ck804_pcie_aer_ext_cap); #ifdef CONFIG_PCI_MSI -/* The Serverworks PCI-X chipset does not support MSI. We cannot easily rely - * on setting PCI_BUS_FLAGS_NO_MSI in its bus flags because there are actually - * some other busses controlled by the chipset even if Linux is not aware of it. - * Instead of setting the flag on all busses in the machine, simply disable MSI - * globally. +/* Some chipsets do not support MSI. We cannot easily rely on setting + * PCI_BUS_FLAGS_NO_MSI in its bus flags because there are actually + * some other busses controlled by the chipset even if Linux is not + * aware of it. Instead of setting the flag on all busses in the + * machine, simply disable MSI globally. */ -static void __init quirk_svw_msi(struct pci_dev *dev) +static void __init quirk_disable_all_msi(struct pci_dev *dev) { pci_no_msi(); printk(KERN_WARNING PCI: MSI quirk detected. MSI deactivated.\n); } -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_svw_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_all_msi); /* Disable MSI on chipsets that are known to not support it */ static void __devinit quirk_disable_msi(struct pci_dev *dev) @@ -1649,8 +1651,6 @@ static void __devinit quirk_disable_msi(struct pci_dev *dev) } } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_disable_msi); -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_msi); -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_msi); /* Go through the list of Hypertransport capabilities and * return 1 if a HT MSI capability is found and enabled */ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
ntfs_init_locked_inode(): fix array indexing
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1fc799e1b4efdbc405d87d9f154d64d9bc299e5c Commit: 1fc799e1b4efdbc405d87d9f154d64d9bc299e5c Parent: ebdf7d399e67499dbd2a6b5154805fb049846cbb Author: Andrew Morton [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:49 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:13 2007 -0700 ntfs_init_locked_inode(): fix array indexing Local variable `i' is a byte-counter. Don't use it as an index into an array of le32's. Reported-by: young dave [EMAIL PROTECTED] Cc: Christoph Lameter [EMAIL PROTECTED] Acked-by: Anton Altaparmakov [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Cc: Adrian Bunk [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/ntfs/inode.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 074791c..b532a73 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -140,7 +140,7 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na) if (!ni-name) return -ENOMEM; memcpy(ni-name, na-name, i); - ni-name[i] = 0; + ni-name[na-name_len] = 0; } return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
smpboot: fix cachesize comparison in smp_tune_scheduling()
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8387c1a46376b8cfc5f4751b27a6c90f930992cf Commit: 8387c1a46376b8cfc5f4751b27a6c90f930992cf Parent: a2b7d2e97edcad0e95ae0d3c253d3f2f69254fa4 Author: Linus Torvalds [EMAIL PROTECTED] AuthorDate: Thu May 31 07:55:16 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:55:16 2007 -0700 smpboot: fix cachesize comparison in smp_tune_scheduling() Jarek Poplawski noted that boot_cpu_data.x86_cache_size is signed int and can be 0 too. In fact we test for it. Except we assigned it to an unsigned value.. Cc: Jarek Poplawski [EMAIL PROTECTED] Cc: Ingo Molnar [EMAIL PROTECTED] Cc: Nick Piggin [EMAIL PROTECTED] Cc: Andi Kleen [EMAIL PROTECTED] Cc: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/i386/kernel/smpboot.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 08f07a7..88baed1 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c @@ -943,10 +943,9 @@ exit: static void smp_tune_scheduling(void) { - unsigned long cachesize; /* kB */ - if (cpu_khz) { - cachesize = boot_cpu_data.x86_cache_size; + /* cache size in kB */ + long cachesize = boot_cpu_data.x86_cache_size; if (cachesize 0) max_cache_size = cachesize * 1024; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
m68k: runtime patching infrastructure
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbe9c9612930e0604dc99ef2da7e063fa3278817 Commit: fbe9c9612930e0604dc99ef2da7e063fa3278817 Parent: 1fc799e1b4efdbc405d87d9f154d64d9bc299e5c Author: Roman Zippel [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:50 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:13 2007 -0700 m68k: runtime patching infrastructure Add the basic infrastructure to allow runtime patching of kernel and modules to optimize a few functions with parameters, which are only calculated once during bootup and are otherwise constant. Use this for the conversion between virtual and physical addresses. Signed-off-by: Roman Zippel [EMAIL PROTECTED] Signed-off-by: Geert Uytterhoeven [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/m68k/Makefile|1 + arch/m68k/kernel/Makefile |3 +-- arch/m68k/kernel/module.c | 28 +++- arch/m68k/kernel/module.lds |7 +++ arch/m68k/kernel/vmlinux-std.lds |5 + arch/m68k/kernel/vmlinux-sun3.lds |5 + arch/m68k/mm/motorola.c |3 +++ include/asm-m68k/module.h | 33 - include/asm-m68k/page.h | 29 ++--- 9 files changed, 107 insertions(+), 7 deletions(-) diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile index c20831a..aa383a5 100644 --- a/arch/m68k/Makefile +++ b/arch/m68k/Makefile @@ -19,6 +19,7 @@ COMPILE_ARCH = $(shell uname -m) # override top level makefile AS += -m68020 LDFLAGS := -m m68kelf +LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds ifneq ($(COMPILE_ARCH),$(ARCH)) # prefix for cross-compiling binaries CROSS_COMPILE = m68k-linux-gnu- diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile index 0b68ab8..a806208 100644 --- a/arch/m68k/kernel/Makefile +++ b/arch/m68k/kernel/Makefile @@ -9,13 +9,12 @@ else endif extra-y+= vmlinux.lds -obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o \ +obj-y := entry.o process.o traps.o ints.o signal.o ptrace.o module.o \ sys_m68k.o time.o semaphore.o setup.o m68k_ksyms.o devres.o devres-y = ../../../kernel/irq/devres.o obj-$(CONFIG_PCI) += bios32.o -obj-$(CONFIG_MODULES) += module.o obj-y$(CONFIG_MMU_SUN3) += dma.o # no, it's not a typo EXTRA_AFLAGS := -traditional diff --git a/arch/m68k/kernel/module.c b/arch/m68k/kernel/module.c index 3b1a2ff..32969d0 100644 --- a/arch/m68k/kernel/module.c +++ b/arch/m68k/kernel/module.c @@ -1,3 +1,9 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive + * for more details. + */ + #include linux/moduleloader.h #include linux/elf.h #include linux/vmalloc.h @@ -11,6 +17,8 @@ #define DEBUGP(fmt...) #endif +#ifdef CONFIG_MODULES + void *module_alloc(unsigned long size) { if (size == 0) @@ -118,11 +126,29 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, int module_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs, - struct module *me) + struct module *mod) { + module_fixup(mod, mod-arch.fixup_start, mod-arch.fixup_end); + return 0; } void module_arch_cleanup(struct module *mod) { } + +#endif /* CONFIG_MODULES */ + +void module_fixup(struct module *mod, struct m68k_fixup_info *start, + struct m68k_fixup_info *end) +{ + struct m68k_fixup_info *fixup; + + for (fixup = start; fixup end; fixup++) { + switch (fixup-type) { + case m68k_fixup_memoffset: + *(u32 *)fixup-addr = m68k_memoffset; + break; + } + } +} diff --git a/arch/m68k/kernel/module.lds b/arch/m68k/kernel/module.lds new file mode 100644 index 000..fda94fa --- /dev/null +++ b/arch/m68k/kernel/module.lds @@ -0,0 +1,7 @@ +SECTIONS { + .m68k_fixup : { + __start_fixup = .; + *(.m68k_fixup) + __stop_fixup = .; + } +} diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds index 78f1392..40f02b1 100644 --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds @@ -60,6 +60,11 @@ SECTIONS __con_initcall_start = .; .con_initcall.init : { *(.con_initcall.init) } __con_initcall_end = .; + .m68k_fixup : { + __start_fixup = .; + *(.m68k_fixup) + __stop_fixup = .; + } SECURITY_INIT #ifdef CONFIG_BLK_DEV_INITRD . = ALIGN(8192); diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index c8999b2..f06425b 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++
afs: needs sched.h
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00c541eae7a477e3d1adb1ebf270bdb5f824 Commit: 00c541eae7a477e3d1adb1ebf270bdb5f824 Parent: 8ffa68755a0eddf3baeecd0e7612a5106cf2db23 Author: Andrew Morton [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:52 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:14 2007 -0700 afs: needs sched.h mips: fs/afs/flock.c: In function `afs_lock_may_be_available': fs/afs/flock.c:55: error: dereferencing pointer to incomplete type fs/afs/flock.c: In function `afs_lock_work': fs/afs/flock.c:84: error: dereferencing pointer to incomplete type fs/afs/flock.c:89: error: dereferencing pointer to incomplete type fs/afs/flock.c:109: error: dereferencing pointer to incomplete type fs/afs/flock.c:135: error: dereferencing pointer to incomplete type fs/afs/flock.c:143: error: dereferencing pointer to incomplete type fs/afs/flock.c:158: error: dereferencing pointer to incomplete type fs/afs/flock.c:161: error: dereferencing pointer to incomplete type fs/afs/flock.c:179: error: `TASK_UNINTERRUPTIBLE' undeclared (first use in this function) fs/afs/flock.c:179: error: (Each undeclared identifier is reported only once fs/afs/flock.c:179: error: for each function it appears in.) fs/afs/flock.c:179: error: `TASK_INTERRUPTIBLE' undeclared (first use in this function) fs/afs/flock.c:182: error: dereferencing pointer to incomplete type Cc: David Howells [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- fs/afs/internal.h |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/afs/internal.h b/fs/afs/internal.h index 2dac3ad..2c55dd9 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h @@ -17,6 +17,8 @@ #include linux/rxrpc.h #include linux/key.h #include linux/workqueue.h +#include linux/sched.h + #include afs.h #include afs_vl.h - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
SLUB: Fix NUMA / SYSFS bootstrap issue
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ffa68755a0eddf3baeecd0e7612a5106cf2db23 Commit: 8ffa68755a0eddf3baeecd0e7612a5106cf2db23 Parent: fbe9c9612930e0604dc99ef2da7e063fa3278817 Author: Christoph Lameter [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:51 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:14 2007 -0700 SLUB: Fix NUMA / SYSFS bootstrap issue We need this patch in ASAP. Patch fixes the mysterious hang that remained on some particular configurations with lockdep on after the first fix that moved the #idef CONFIG_SLUB_DEBUG to the right location. See http://marc.info/?t=11796307231r=1w=2 The kmem_cache_node cache is very special because it is needed for NUMA bootstrap. Under certain conditions (like for example if lockdep is enabled and significantly increases the size of spinlock_t) the structure may become exactly the size as one of the larger caches in the kmalloc array. That early during bootstrap we cannot perform merging properly. The unique id for the kmem_cache_node cache will match one of the kmalloc array. Sysfs will complain about a duplicate directory entry. All of this occurs while the console is not yet fully operational. Thus boot may appear to be silently failing. The kmem_cache_node cache is very special. During early boostrap the main allocation function is not operational yet and so we have to run our own small special alloc function during early boot. It is also special in that it is never freed. We really do not want any merging on that cache. Set the refcount -1 and forbid merging of slabs that have a negative refcount. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- mm/slub.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index 3e5aefc..238c5a6 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2435,6 +2435,7 @@ void __init kmem_cache_init(void) */ create_kmalloc_cache(kmalloc_caches[0], kmem_cache_node, sizeof(struct kmem_cache_node), GFP_KERNEL); + kmalloc_caches[0].refcount = -1; #endif /* Able to allocate the per node structures */ @@ -2482,6 +2483,12 @@ static int slab_unmergeable(struct kmem_cache *s) if (s-ctor) return 1; + /* +* We may have set a slab to be unmergeable during bootstrap. +*/ + if (s-refcount 0) + return 1; + return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
m68k: discontinuous memory support
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=12d810c1b8c2b913d48e629e2b5c01d105029839 Commit: 12d810c1b8c2b913d48e629e2b5c01d105029839 Parent: 00c541eae7a477e3d1adb1ebf270bdb5f824 Author: Roman Zippel [EMAIL PROTECTED] AuthorDate: Thu May 31 00:40:54 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Thu May 31 07:58:14 2007 -0700 m68k: discontinuous memory support Fix support for discontinuous memory Signed-off-by: Roman Zippel [EMAIL PROTECTED] Signed-off-by: Geert Uytterhoeven [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/m68k/Kconfig | 13 +++- arch/m68k/kernel/module.c |3 + arch/m68k/kernel/setup.c| 37 +++- arch/m68k/mm/init.c | 119 +++ arch/m68k/mm/memory.c | 73 - arch/m68k/mm/motorola.c | 101 - arch/m68k/sun3/config.c |2 + include/asm-m68k/mmzone.h |9 +++ include/asm-m68k/module.h |1 + include/asm-m68k/motorola_pgtable.h | 10 ++-- include/asm-m68k/page.h | 52 --- include/asm-m68k/pgalloc.h |3 +- include/asm-m68k/pgtable.h | 17 +- include/asm-m68k/sun3_pgtable.h |4 +- include/asm-m68k/virtconvert.h | 49 -- mm/page_alloc.c |2 +- 16 files changed, 247 insertions(+), 248 deletions(-) diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index b8536c7..85cdd23 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -355,8 +355,9 @@ config RMW_INSNS adventurous. config SINGLE_MEMORY_CHUNK - bool Use one physical chunk of memory only - depends on ADVANCED !SUN3 + bool Use one physical chunk of memory only if ADVANCED !SUN3 + default y if SUN3 + select NEED_MULTIPLE_NODES help Ignore all but the first contiguous chunk of physical memory for VM purposes. This will save a few bytes kernel size and may speed up @@ -377,6 +378,14 @@ config 060_WRITETHROUGH is hardwired on. The 53c710 SCSI driver is known to suffer from this problem. +config ARCH_DISCONTIGMEM_ENABLE + def_bool !SINGLE_MEMORY_CHUNK + +config NODES_SHIFT + int + default 3 + depends on !SINGLE_MEMORY_CHUNK + source mm/Kconfig endmenu diff --git a/arch/m68k/kernel/module.c b/arch/m68k/kernel/module.c index 32969d0..774862b 100644 --- a/arch/m68k/kernel/module.c +++ b/arch/m68k/kernel/module.c @@ -149,6 +149,9 @@ void module_fixup(struct module *mod, struct m68k_fixup_info *start, case m68k_fixup_memoffset: *(u32 *)fixup-addr = m68k_memoffset; break; + case m68k_fixup_vnode_shift: + *(u16 *)fixup-addr += m68k_virt_to_node_shift; + break; } } } diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c index 6103193..215c7bd 100644 --- a/arch/m68k/kernel/setup.c +++ b/arch/m68k/kernel/setup.c @@ -60,14 +60,12 @@ extern unsigned long availmem; int m68k_num_memory; int m68k_realnum_memory; EXPORT_SYMBOL(m68k_realnum_memory); -#ifdef CONFIG_SINGLE_MEMORY_CHUNK unsigned long m68k_memoffset; EXPORT_SYMBOL(m68k_memoffset); -#endif struct mem_info m68k_memory[NUM_MEMINFO]; EXPORT_SYMBOL(m68k_memory); -static struct mem_info m68k_ramdisk; +struct mem_info m68k_ramdisk; static char m68k_command_line[CL_SIZE]; @@ -208,9 +206,6 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record) void __init setup_arch(char **cmdline_p) { extern int _etext, _edata, _end; -#ifndef CONFIG_SUN3 - unsigned long endmem, startmem; -#endif int i; /* The bootinfo is located right after the kernel bss */ @@ -320,30 +315,16 @@ void __init setup_arch(char **cmdline_p) panic(No configuration setup); } -#ifndef CONFIG_SUN3 - startmem= m68k_memory[0].addr; - endmem = startmem + m68k_memory[0].size; - high_memory = (void *)PAGE_OFFSET; - for (i = 0; i m68k_num_memory; i++) { - m68k_memory[i].size = MASK_256K; - if (m68k_memory[i].addr startmem) - startmem = m68k_memory[i].addr; - if (m68k_memory[i].addr+m68k_memory[i].size endmem) - endmem = m68k_memory[i].addr+m68k_memory[i].size; - high_memory += m68k_memory[i].size; - } - - availmem += init_bootmem_node(NODE_DATA(0), availmem PAGE_SHIFT, - startmem PAGE_SHIFT, endmem PAGE_SHIFT); - - for (i = 0; i m68k_num_memory; i++) -
[libata] Add drive to NCQ blacklist
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=471e44b26ef84658ee434087413c445bbe14686b Commit: 471e44b26ef84658ee434087413c445bbe14686b Parent: c420bc9f09a0926b708c3edb27eacba434a4f4ba Author: Jeff Garzik [EMAIL PROTECTED] AuthorDate: Mon May 28 09:00:05 2007 -0400 Committer: Jeff Garzik [EMAIL PROTECTED] CommitDate: Mon May 28 09:00:05 2007 -0400 [libata] Add drive to NCQ blacklist Contributed by Simon Griph. Signed-off-by: Jeff Garzik [EMAIL PROTECTED] --- drivers/ata/libata-core.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 3ca9c61..af62514 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -3783,6 +3783,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { { FUJITSU MHT2060BH, NULL, ATA_HORKAGE_NONCQ }, /* NCQ is broken */ { Maxtor 6L250S0, BANC1G10, ATA_HORKAGE_NONCQ }, + { Maxtor 6B200M0, BANC1B10, ATA_HORKAGE_NONCQ }, /* NCQ hard hangs device under heavier load, needs hard power cycle */ { Maxtor 6B250S0, BANC1B70, ATA_HORKAGE_NONCQ }, /* Blacklist entries taken from Silicon Image 3124/3132 - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
drm: Spinlock initializer cleanup
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6399bdd492a3289d39e4b79cbe69ad44a054ee3 Commit: a6399bdd492a3289d39e4b79cbe69ad44a054ee3 Parent: 1c1ee4c3e7e16d23166a624a132889df3c540a18 Author: Thomas Gleixner [EMAIL PROTECTED] AuthorDate: Sat May 26 05:56:14 2007 +1000 Committer: Dave Airlie [EMAIL PROTECTED] CommitDate: Sat May 26 03:52:45 2007 +1000 drm: Spinlock initializer cleanup Signed-off-by: Thomas Gleixner [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Dave Airlie [EMAIL PROTECTED] --- drivers/char/drm/i915_irq.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/char/drm/i915_irq.c b/drivers/char/drm/i915_irq.c index 78c1ae2..b92062a 100644 --- a/drivers/char/drm/i915_irq.c +++ b/drivers/char/drm/i915_irq.c @@ -582,7 +582,7 @@ void i915_driver_irq_postinstall(drm_device_t * dev) { drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev-dev_private; - dev_priv-swaps_lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(dev_priv-swaps_lock); INIT_LIST_HEAD(dev_priv-vbl_swaps.head); dev_priv-swaps_pending = 0; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
drm/radeon: add more IGP chipset pci ids
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=777c7738a598c6e8d4b850181a509757fb79cf36 Commit: 777c7738a598c6e8d4b850181a509757fb79cf36 Parent: a6399bdd492a3289d39e4b79cbe69ad44a054ee3 Author: Dave Airlie [EMAIL PROTECTED] AuthorDate: Sat May 26 04:19:03 2007 +1000 Committer: Dave Airlie [EMAIL PROTECTED] CommitDate: Sat May 26 04:19:03 2007 +1000 drm/radeon: add more IGP chipset pci ids Add more IGP chipset PCI IDs Signed-off-by: Dave Airlie [EMAIL PROTECTED] --- drivers/char/drm/drm_pciids.h |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/char/drm/drm_pciids.h b/drivers/char/drm/drm_pciids.h index 31cdde8..177ccc0 100644 --- a/drivers/char/drm/drm_pciids.h +++ b/drivers/char/drm/drm_pciids.h @@ -102,13 +102,20 @@ {0x1002, 0x5653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP}, \ {0x1002, 0x5835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \ + {0x1002, 0x5954, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5955, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ + {0x1002, 0x5974, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ + {0x1002, 0x5975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5960, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5961, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5962, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5964, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5965, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \ {0x1002, 0x5969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100}, \ + {0x1002, 0x5a41, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ + {0x1002, 0x5a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ + {0x1002, 0x5a61, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ + {0x1002, 0x5a62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \ {0x1002, 0x5b60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ {0x1002, 0x5b63, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
drm: make sure the drawable code doesn't call malloc(0).
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4814f9001a8dd28e39311a919beac34f778f76d Commit: c4814f9001a8dd28e39311a919beac34f778f76d Parent: 777c7738a598c6e8d4b850181a509757fb79cf36 Author: Michel Dänzer [EMAIL PROTECTED] AuthorDate: Sat May 26 04:37:08 2007 +1000 Committer: Dave Airlie [EMAIL PROTECTED] CommitDate: Sat May 26 04:37:08 2007 +1000 drm: make sure the drawable code doesn't call malloc(0). Signed-off-by: Michel Dänzer [EMAIL PROTECTED] Signed-off-by: Dave Airlie [EMAIL PROTECTED] --- drivers/char/drm/drm_drawable.c | 41 -- 1 files changed, 26 insertions(+), 15 deletions(-) diff --git a/drivers/char/drm/drm_drawable.c b/drivers/char/drm/drm_drawable.c index de37d5f..b33313b 100644 --- a/drivers/char/drm/drm_drawable.c +++ b/drivers/char/drm/drm_drawable.c @@ -172,38 +172,49 @@ int drm_rmdraw(DRM_IOCTL_ARGS) bitfield_length = idx + 1; - if (idx != id / (8 * sizeof(*bitfield))) - bitfield = drm_alloc(bitfield_length * -sizeof(*bitfield), DRM_MEM_BUFS); + bitfield = NULL; - if (!bitfield bitfield_length) { - bitfield = dev-drw_bitfield; - bitfield_length = dev-drw_bitfield_length; + if (bitfield_length) { + if (bitfield_length != dev-drw_bitfield_length) + bitfield = drm_alloc(bitfield_length * +sizeof(*bitfield), +DRM_MEM_BUFS); + + if (!bitfield) { + bitfield = dev-drw_bitfield; + bitfield_length = dev-drw_bitfield_length; + } } } if (bitfield != dev-drw_bitfield) { info_length = 8 * sizeof(*bitfield) * bitfield_length; - info = drm_alloc(info_length * sizeof(*info), DRM_MEM_BUFS); + if (info_length) { + info = drm_alloc(info_length * sizeof(*info), +DRM_MEM_BUFS); - if (!info info_length) { - info = dev-drw_info; - info_length = dev-drw_info_length; - } + if (!info) { + info = dev-drw_info; + info_length = dev-drw_info_length; + } + } else + info = NULL; spin_lock_irqsave(dev-drw_lock, irqflags); - memcpy(bitfield, dev-drw_bitfield, bitfield_length * - sizeof(*bitfield)); + if (bitfield) + memcpy(bitfield, dev-drw_bitfield, bitfield_length * + sizeof(*bitfield)); drm_free(dev-drw_bitfield, sizeof(*bitfield) * dev-drw_bitfield_length, DRM_MEM_BUFS); dev-drw_bitfield = bitfield; dev-drw_bitfield_length = bitfield_length; if (info != dev-drw_info) { - memcpy(info, dev-drw_info, info_length * - sizeof(*info)); + if (info) + memcpy(info, dev-drw_info, info_length * + sizeof(*info)); drm_free(dev-drw_info, sizeof(*info) * dev-drw_info_length, DRM_MEM_BUFS); dev-drw_info = info; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[CRYPTO] cryptd: Fix problem with cryptd and the freezer
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=189fe3174ce93f4c949325426c87c4d875a13424 Commit: 189fe3174ce93f4c949325426c87c4d875a13424 Parent: 7a74fc4925067c2102175baef73f9b07ab519b71 Author: Rafael J. Wysocki [EMAIL PROTECTED] AuthorDate: Thu May 31 18:10:22 2007 +1000 Committer: Herbert Xu [EMAIL PROTECTED] CommitDate: Thu May 31 18:10:22 2007 +1000 [CRYPTO] cryptd: Fix problem with cryptd and the freezer Make sure that cryptd is marked as nonfreezable and does not hold up the freezer. Signed-off-by: Rafael J. Wysocki [EMAIL PROTECTED] Signed-off-by: Herbert Xu [EMAIL PROTECTED] --- crypto/cryptd.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/crypto/cryptd.c b/crypto/cryptd.c index 3ff4e1f..ac6dce2 100644 --- a/crypto/cryptd.c +++ b/crypto/cryptd.c @@ -298,7 +298,7 @@ static inline int cryptd_create_thread(struct cryptd_state *state, mutex_init(state-mutex); crypto_init_queue(state-queue, CRYPTD_MAX_QLEN); - state-task = kthread_create(fn, state, name); + state-task = kthread_run(fn, state, name); if (IS_ERR(state-task)) return PTR_ERR(state-task); @@ -316,6 +316,8 @@ static int cryptd_thread(void *data) struct cryptd_state *state = data; int stop; + current-flags |= PF_NOFREEZE; + do { struct crypto_async_request *req, *backlog; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[CASSINI]: Fix printk message typo.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4738d2fa5986d3717055d8ee14b2aad87c30f1e7 Commit: 4738d2fa5986d3717055d8ee14b2aad87c30f1e7 Parent: 3f0a6766e0cc5a577805732e5adb50a585c58175 Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Thu May 24 20:59:26 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:22 2007 -0700 [CASSINI]: Fix printk message typo. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- drivers/net/cassini.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index 9fe3a38..59b9943 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c @@ -4920,7 +4920,7 @@ static int __devinit cas_init_one(struct pci_dev *pdev, pci_cmd |= PCI_COMMAND_PARITY; pci_write_config_word(pdev, PCI_COMMAND, pci_cmd); if (pci_set_mwi(pdev)) - printk(KERN_WARNING PFX Could enable MWI for %s\n, + printk(KERN_WARNING PFX Could not enable MWI for %s\n, pci_name(pdev)); /* - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[XFRM]: Allow XFRM_ACQ_EXPIRES to be tunable via sysctl.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01e67d08faa782f1a4d38de702331f5904def6ad Commit: 01e67d08faa782f1a4d38de702331f5904def6ad Parent: 4738d2fa5986d3717055d8ee14b2aad87c30f1e7 Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Fri May 25 00:41:38 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:23 2007 -0700 [XFRM]: Allow XFRM_ACQ_EXPIRES to be tunable via sysctl. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- include/net/xfrm.h |1 - net/core/sysctl_net_core.c |9 + net/xfrm/xfrm_state.c | 15 +-- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 39ef925..90185e8 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -237,7 +237,6 @@ extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo); extern int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo); extern void km_policy_notify(struct xfrm_policy *xp, int dir, struct km_event *c); extern void km_state_notify(struct xfrm_state *x, struct km_event *c); -#define XFRM_ACQ_EXPIRES 30 struct xfrm_tmpl; extern int km_query(struct xfrm_state *x, struct xfrm_tmpl *t, struct xfrm_policy *pol); diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index f34aca0..6d5ea97 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -25,6 +25,7 @@ extern int sysctl_core_destroy_delay; extern u32 sysctl_xfrm_aevent_etime; extern u32 sysctl_xfrm_aevent_rseqth; extern int sysctl_xfrm_larval_drop; +extern u32 sysctl_xfrm_acq_expires; #endif ctl_table core_table[] = { @@ -127,6 +128,14 @@ ctl_table core_table[] = { .mode = 0644, .proc_handler = proc_dointvec }, + { + .ctl_name = CTL_UNNUMBERED, + .procname = xfrm_acq_expires, + .data = sysctl_xfrm_acq_expires, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec + }, #endif /* CONFIG_XFRM */ #endif /* CONFIG_NET */ { diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 9955ff4..372f06e 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -21,18 +21,21 @@ #include linux/cache.h #include asm/uaccess.h #include linux/audit.h +#include linux/cache.h #include xfrm_hash.h struct sock *xfrm_nl; EXPORT_SYMBOL(xfrm_nl); -u32 sysctl_xfrm_aevent_etime = XFRM_AE_ETIME; +u32 sysctl_xfrm_aevent_etime __read_mostly = XFRM_AE_ETIME; EXPORT_SYMBOL(sysctl_xfrm_aevent_etime); -u32 sysctl_xfrm_aevent_rseqth = XFRM_AE_SEQT_SIZE; +u32 sysctl_xfrm_aevent_rseqth __read_mostly = XFRM_AE_SEQT_SIZE; EXPORT_SYMBOL(sysctl_xfrm_aevent_rseqth); +u32 sysctl_xfrm_acq_expires __read_mostly = 30; + /* Each xfrm_state may be linked to two tables: 1. Hash table by (spi,daddr,ah/esp) to find SA by SPI. (input,ctl) @@ -622,8 +625,8 @@ xfrm_state_find(xfrm_address_t *daddr, xfrm_address_t *saddr, h = xfrm_spi_hash(x-id.daddr, x-id.spi, x-id.proto, family); hlist_add_head(x-byspi, xfrm_state_byspi+h); } - x-lft.hard_add_expires_seconds = XFRM_ACQ_EXPIRES; - x-timer.expires = jiffies + XFRM_ACQ_EXPIRES*HZ; + x-lft.hard_add_expires_seconds = sysctl_xfrm_acq_expires; + x-timer.expires = jiffies + sysctl_xfrm_acq_expires*HZ; add_timer(x-timer); xfrm_state_num++; xfrm_hash_grow_check(x-bydst.next != NULL); @@ -772,9 +775,9 @@ static struct xfrm_state *__find_acq_core(unsigned short family, u8 mode, u32 re x-props.family = family; x-props.mode = mode; x-props.reqid = reqid; - x-lft.hard_add_expires_seconds = XFRM_ACQ_EXPIRES; + x-lft.hard_add_expires_seconds = sysctl_xfrm_acq_expires; xfrm_state_hold(x); - x-timer.expires = jiffies + XFRM_ACQ_EXPIRES*HZ; + x-timer.expires = jiffies + sysctl_xfrm_acq_expires*HZ; add_timer(x-timer); hlist_add_head(x-bydst, xfrm_state_bydst+h); h = xfrm_src_hash(daddr, saddr, family); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[XFRM]: xfrm_larval_drop sysctl should be __read_mostly.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aad0e0b9b6e4f7085d5e2ec4b5bb59ffecd8b1fb Commit: aad0e0b9b6e4f7085d5e2ec4b5bb59ffecd8b1fb Parent: 01e67d08faa782f1a4d38de702331f5904def6ad Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Fri May 25 00:42:49 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:24 2007 -0700 [XFRM]: xfrm_larval_drop sysctl should be __read_mostly. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/xfrm/xfrm_policy.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index b8bab89..64a3751 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -26,10 +26,11 @@ #include net/xfrm.h #include net/ip.h #include linux/audit.h +#include linux/cache.h #include xfrm_hash.h -int sysctl_xfrm_larval_drop; +int sysctl_xfrm_larval_drop __read_mostly; DEFINE_MUTEX(xfrm_cfg_mutex); EXPORT_SYMBOL(xfrm_cfg_mutex); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPSEC]: Fix IPv6 AH calculation in outbound
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=144466bdf8c479ae36678ace7a3b8e8b748df6f6 Commit: 144466bdf8c479ae36678ace7a3b8e8b748df6f6 Parent: aad0e0b9b6e4f7085d5e2ec4b5bb59ffecd8b1fb Author: Kazunori MIYAZAWA [EMAIL PROTECTED] AuthorDate: Fri May 25 01:22:25 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:25 2007 -0700 [IPSEC]: Fix IPv6 AH calculation in outbound Signed-off-by: Kazunori MIYAZAWA [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv6/ah6.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c index b696c84..128f94c 100644 --- a/net/ipv6/ah6.c +++ b/net/ipv6/ah6.c @@ -247,7 +247,7 @@ static int ah6_output(struct xfrm_state *x, struct sk_buff *skb) memcpy(tmp_base, top_iph, sizeof(tmp_base)); tmp_ext = NULL; - extlen = skb_transport_offset(skb) + sizeof(struct ipv6hdr); + extlen = skb_transport_offset(skb) - sizeof(struct ipv6hdr); if (extlen) { extlen += sizeof(*tmp_ext); tmp_ext = kmalloc(extlen, GFP_ATOMIC); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPV6] ROUTE: No longer handle ::/0 specially.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ebba6d14f8d63cad583bf1cc0330b601d5a8171 Commit: 7ebba6d14f8d63cad583bf1cc0330b601d5a8171 Parent: 144466bdf8c479ae36678ace7a3b8e8b748df6f6 Author: YOSHIFUJI Hideaki [EMAIL PROTECTED] AuthorDate: Tue May 29 01:13:24 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:26 2007 -0700 [IPV6] ROUTE: No longer handle ::/0 specially. We do not need to handle ::/0 routes specially any longer. This should fix BUG #8349. Signed-off-by: YOSHIFUJI Hideaki [EMAIL PROTECTED] Acked-by: Yuji Sekiya [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv6/ip6_fib.c |8 1 files changed, 0 insertions(+), 8 deletions(-) diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index ca08ee8..154033f 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -619,14 +619,6 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt, ins = fn-leaf; - if (fn-fn_flagsRTN_TL_ROOT - fn-leaf == ip6_null_entry - !(rt-rt6i_flags (RTF_DEFAULT | RTF_ADDRCONF)) ){ - fn-leaf = rt; - rt-u.dst.rt6_next = NULL; - goto out; - } - for (iter = fn-leaf; iter; iter=iter-u.dst.rt6_next) { /* * Search for duplicates - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[NET]: parse ip:port strings correctly in in4_pton
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83f03fa5adbad0a829424241ad24ef9e4b4ba585 Commit: 83f03fa5adbad0a829424241ad24ef9e4b4ba585 Parent: 7ebba6d14f8d63cad583bf1cc0330b601d5a8171 Author: Jerome Borsboom [EMAIL PROTECTED] AuthorDate: Tue May 29 12:59:54 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:27 2007 -0700 [NET]: parse ip:port strings correctly in in4_pton in4_pton converts a textual representation of an ip4 address into an integer representation. However, when the textual representation is of in the form ip:port, e.g. 192.168.1.1:5060, and 'delim' is set to -1, the function bails out with an error when reading the colon. It makes sense to allow the colon as a delimiting character without explicitly having to set it through the 'delim' variable as there can be no ambiguity in the point where the ip address is completely parsed. This function is indeed called from nf_conntrack_sip.c in this way to parse textual ip:port combinations which fails due to the reason stated above. Signed-off-by: Jerome Borsboom [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/core/utils.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/core/utils.c b/net/core/utils.c index adecfd2..2030bb8 100644 --- a/net/core/utils.c +++ b/net/core/utils.c @@ -139,16 +139,16 @@ int in4_pton(const char *src, int srclen, while(1) { int c; c = xdigit2bin(srclen 0 ? *s : '\0', delim); - if (!(c (IN6PTON_DIGIT | IN6PTON_DOT | IN6PTON_DELIM))) { + if (!(c (IN6PTON_DIGIT | IN6PTON_DOT | IN6PTON_DELIM | IN6PTON_COLON_MASK))) { goto out; } - if (c (IN6PTON_DOT | IN6PTON_DELIM)) { + if (c (IN6PTON_DOT | IN6PTON_DELIM | IN6PTON_COLON_MASK)) { if (w == 0) goto out; *d++ = w 0xff; w = 0; i++; - if (c IN6PTON_DELIM) { + if (c (IN6PTON_DELIM | IN6PTON_COLON_MASK)) { if (i != 4) goto out; break; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPSEC]: Fix panic when using inter address familiy IPsec on loopback.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f282d45cb496e3960046afd3d5f241265eda6fde Commit: f282d45cb496e3960046afd3d5f241265eda6fde Parent: 83f03fa5adbad0a829424241ad24ef9e4b4ba585 Author: Kazunori MIYAZAWA [EMAIL PROTECTED] AuthorDate: Tue May 29 13:03:17 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:28 2007 -0700 [IPSEC]: Fix panic when using inter address familiy IPsec on loopback. Signed-off-by: Kazunori MIYAZAWA [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv4/xfrm4_input.c |6 ++ net/ipv4/xfrm4_mode_tunnel.c |2 ++ net/ipv6/xfrm6_input.c |6 ++ net/ipv6/xfrm6_mode_tunnel.c |1 + 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c index 5ceca95..fa1902d 100644 --- a/net/ipv4/xfrm4_input.c +++ b/net/ipv4/xfrm4_input.c @@ -139,10 +139,8 @@ int xfrm4_rcv_encap(struct sk_buff *skb, __u16 encap_type) nf_reset(skb); if (decaps) { - if (!(skb-dev-flagsIFF_LOOPBACK)) { - dst_release(skb-dst); - skb-dst = NULL; - } + dst_release(skb-dst); + skb-dst = NULL; netif_rx(skb); return 0; } else { diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c index a2f2e6a..9963700 100644 --- a/net/ipv4/xfrm4_mode_tunnel.c +++ b/net/ipv4/xfrm4_mode_tunnel.c @@ -85,6 +85,8 @@ static int xfrm4_tunnel_output(struct xfrm_state *x, struct sk_buff *skb) top_iph-saddr = x-props.saddr.a4; top_iph-daddr = x-id.daddr.a4; + skb-protocol = htons(ETH_P_IP); + memset((IPCB(skb)-opt), 0, sizeof(struct ip_options)); return 0; } diff --git a/net/ipv6/xfrm6_input.c b/net/ipv6/xfrm6_input.c index d7ed8aa..c858537 100644 --- a/net/ipv6/xfrm6_input.c +++ b/net/ipv6/xfrm6_input.c @@ -104,10 +104,8 @@ int xfrm6_rcv_spi(struct sk_buff *skb, __be32 spi) nf_reset(skb); if (decaps) { - if (!(skb-dev-flagsIFF_LOOPBACK)) { - dst_release(skb-dst); - skb-dst = NULL; - } + dst_release(skb-dst); + skb-dst = NULL; netif_rx(skb); return -1; } else { diff --git a/net/ipv6/xfrm6_mode_tunnel.c b/net/ipv6/xfrm6_mode_tunnel.c index a6c0cdf..9fc95bc 100644 --- a/net/ipv6/xfrm6_mode_tunnel.c +++ b/net/ipv6/xfrm6_mode_tunnel.c @@ -80,6 +80,7 @@ static int xfrm6_tunnel_output(struct xfrm_state *x, struct sk_buff *skb) top_iph-hop_limit = dst_metric(dst-child, RTAX_HOPLIMIT); ipv6_addr_copy(top_iph-saddr, (struct in6_addr *)x-props.saddr); ipv6_addr_copy(top_iph-daddr, (struct in6_addr *)x-id.daddr); + skb-protocol = htons(ETH_P_IPV6); return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPV4]: Kill references to bogus non-existent CONFIG_IP_NOSIOCRT
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ddc31ce311b65fc3c30ec9ca5baf688a882260bc Commit: ddc31ce311b65fc3c30ec9ca5baf688a882260bc Parent: f282d45cb496e3960046afd3d5f241265eda6fde Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Tue May 29 13:06:51 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:29 2007 -0700 [IPV4]: Kill references to bogus non-existent CONFIG_IP_NOSIOCRT Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv4/fib_frontend.c | 11 --- 1 files changed, 0 insertions(+), 11 deletions(-) diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index 837f295..9ad1f62 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -250,8 +250,6 @@ e_inval: return -EINVAL; } -#ifndef CONFIG_IP_NOSIOCRT - static inline __be32 sk_extract_addr(struct sockaddr *addr) { return ((struct sockaddr_in *) addr)-sin_addr.s_addr; @@ -443,15 +441,6 @@ int ip_rt_ioctl(unsigned int cmd, void __user *arg) return -EINVAL; } -#else - -int ip_rt_ioctl(unsigned int cmd, void *arg) -{ - return -EINVAL; -} - -#endif - struct nla_policy rtm_ipv4_policy[RTA_MAX+1] __read_mostly = { [RTA_DST] = { .type = NLA_U32 }, [RTA_SRC] = { .type = NLA_U32 }, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[AF_PACKET]: Kill bogus CONFIG_PACKET_MULTICAST
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2efcfa04865eaaa88b870f4babf12f4c1fc4f83 Commit: a2efcfa04865eaaa88b870f4babf12f4c1fc4f83 Parent: ddc31ce311b65fc3c30ec9ca5baf688a882260bc Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Tue May 29 13:12:50 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:30 2007 -0700 [AF_PACKET]: Kill bogus CONFIG_PACKET_MULTICAST It is unconditionally set by af_packet.c, not by the Kconfig subsystem, so just kill it off. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/packet/af_packet.c | 31 --- 1 files changed, 4 insertions(+), 27 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 02e401c..99b55e6 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -86,20 +86,6 @@ #define CONFIG_SOCK_PACKET 1 /* - Proposed replacement for SIOC{ADD,DEL}MULTI and - IFF_PROMISC, IFF_ALLMULTI flags. - - It is more expensive, but I believe, - it is really correct solution: reentereble, safe and fault tolerant. - - IFF_PROMISC/IFF_ALLMULTI/SIOC{ADD/DEL}MULTI are faked by keeping - reference count and global flag, so that real status is - (gflag|(count != 0)), so that we can use obsolete faulty interface - not harming clever users. - */ -#define CONFIG_PACKET_MULTICAST1 - -/* Assumptions: - if device has no dev-hard_header routine, it adds and removes ll header inside itself. In this case ll header is invisible outside of device, @@ -159,7 +145,6 @@ static atomic_t packet_socks_nr; /* Private packet socket structures. */ -#ifdef CONFIG_PACKET_MULTICAST struct packet_mclist { struct packet_mclist*next; @@ -179,7 +164,7 @@ struct packet_mreq_max unsigned short mr_alen; unsigned char mr_address[MAX_ADDR_LEN]; }; -#endif + #ifdef CONFIG_PACKET_MMAP static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing); #endif @@ -205,9 +190,7 @@ struct packet_sock { origdev:1; int ifindex;/* bound device */ __be16 num; -#ifdef CONFIG_PACKET_MULTICAST struct packet_mclist*mclist; -#endif #ifdef CONFIG_PACKET_MMAP atomic_tmapped; unsigned intpg_vec_order; @@ -851,9 +834,7 @@ static int packet_release(struct socket *sock) __sock_put(sk); } -#ifdef CONFIG_PACKET_MULTICAST packet_flush_mclist(sk); -#endif #ifdef CONFIG_PACKET_MMAP if (po-pg_vec) { @@ -1221,7 +1202,6 @@ static int packet_getname(struct socket *sock, struct sockaddr *uaddr, return 0; } -#ifdef CONFIG_PACKET_MULTICAST static void packet_dev_mc(struct net_device *dev, struct packet_mclist *i, int what) { switch (i-type) { @@ -1349,7 +1329,6 @@ static void packet_flush_mclist(struct sock *sk) } rtnl_unlock(); } -#endif static int packet_setsockopt(struct socket *sock, int level, int optname, char __user *optval, int optlen) @@ -1362,7 +1341,6 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv return -ENOPROTOOPT; switch(optname) { -#ifdef CONFIG_PACKET_MULTICAST case PACKET_ADD_MEMBERSHIP: case PACKET_DROP_MEMBERSHIP: { @@ -1383,7 +1361,7 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv ret = packet_mc_drop(sk, mreq); return ret; } -#endif + #ifdef CONFIG_PACKET_MMAP case PACKET_RX_RING: { @@ -1506,11 +1484,10 @@ static int packet_notifier(struct notifier_block *this, unsigned long msg, void switch (msg) { case NETDEV_UNREGISTER: -#ifdef CONFIG_PACKET_MULTICAST if (po-mclist) packet_dev_mclist(dev, po-mclist, -1); - // fallthrough -#endif + /* fallthrough */ + case NETDEV_DOWN: if (dev-ifindex == po-ifindex) { spin_lock(po-bind_lock); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPV6]: Fix build warning.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c7fc03e27167425a1396320da43533462556b0c Commit: 8c7fc03e27167425a1396320da43533462556b0c Parent: a2efcfa04865eaaa88b870f4babf12f4c1fc4f83 Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Tue May 29 13:15:41 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:31 2007 -0700 [IPV6]: Fix build warning. net/ipv6/ip6_fib.c: In function ‘fib6_add_rt2node’: net/ipv6/ip6_fib.c:661: warning: label ‘out’ defined but not used Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv6/ip6_fib.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index 154033f..662a7d9 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -658,7 +658,6 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt, * insert node */ -out: rt-u.dst.rt6_next = iter; *ins = rt; rt-rt6i_node = fn; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[AF_PACKET]: Kill CONFIG_PACKET_SOCKET.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be02097cf6342eb0426833f54c95e0fb4c9bca45 Commit: be02097cf6342eb0426833f54c95e0fb4c9bca45 Parent: 8c7fc03e27167425a1396320da43533462556b0c Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Tue May 29 13:16:31 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:32 2007 -0700 [AF_PACKET]: Kill CONFIG_PACKET_SOCKET. Always set, but af_packet.c, not by the Kconfig subsystem, so just get rid of it. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/packet/af_packet.c | 25 + 1 files changed, 5 insertions(+), 20 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 99b55e6..f8b8301 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -83,8 +83,6 @@ #include net/inet_common.h #endif -#define CONFIG_SOCK_PACKET 1 - /* Assumptions: - if device has no dev-hard_header routine, it adds and removes ll header @@ -246,7 +244,6 @@ static void packet_sock_destruct(struct sock *sk) static const struct proto_ops packet_ops; -#ifdef CONFIG_SOCK_PACKET static const struct proto_ops packet_ops_spkt; static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, struct net_device *orig_dev) @@ -418,7 +415,6 @@ out_unlock: dev_put(dev); return err; } -#endif static inline unsigned int run_filter(struct sk_buff *skb, struct sock *sk, unsigned int res) @@ -917,8 +913,6 @@ out_unlock: * Bind a packet socket to a device */ -#ifdef CONFIG_SOCK_PACKET - static int packet_bind_spkt(struct socket *sock, struct sockaddr *uaddr, int addr_len) { struct sock *sk=sock-sk; @@ -941,7 +935,6 @@ static int packet_bind_spkt(struct socket *sock, struct sockaddr *uaddr, int add } return err; } -#endif static int packet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) { @@ -993,11 +986,8 @@ static int packet_create(struct socket *sock, int protocol) if (!capable(CAP_NET_RAW)) return -EPERM; - if (sock-type != SOCK_DGRAM sock-type != SOCK_RAW -#ifdef CONFIG_SOCK_PACKET -sock-type != SOCK_PACKET -#endif - ) + if (sock-type != SOCK_DGRAM sock-type != SOCK_RAW + sock-type != SOCK_PACKET) return -ESOCKTNOSUPPORT; sock-state = SS_UNCONNECTED; @@ -1008,10 +998,9 @@ static int packet_create(struct socket *sock, int protocol) goto out; sock-ops = packet_ops; -#ifdef CONFIG_SOCK_PACKET if (sock-type == SOCK_PACKET) sock-ops = packet_ops_spkt; -#endif + sock_init_data(sock, sk); po = pkt_sk(sk); @@ -1027,10 +1016,10 @@ static int packet_create(struct socket *sock, int protocol) spin_lock_init(po-bind_lock); po-prot_hook.func = packet_rcv; -#ifdef CONFIG_SOCK_PACKET + if (sock-type == SOCK_PACKET) po-prot_hook.func = packet_rcv_spkt; -#endif + po-prot_hook.af_packet_priv = sk; if (proto) { @@ -1150,7 +1139,6 @@ out: return err; } -#ifdef CONFIG_SOCK_PACKET static int packet_getname_spkt(struct socket *sock, struct sockaddr *uaddr, int *uaddr_len, int peer) { @@ -1171,7 +1159,6 @@ static int packet_getname_spkt(struct socket *sock, struct sockaddr *uaddr, return 0; } -#endif static int packet_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_len, int peer) @@ -1833,7 +1820,6 @@ out: #endif -#ifdef CONFIG_SOCK_PACKET static const struct proto_ops packet_ops_spkt = { .family = PF_PACKET, .owner =THIS_MODULE, @@ -1854,7 +1840,6 @@ static const struct proto_ops packet_ops_spkt = { .mmap = sock_no_mmap, .sendpage = sock_no_sendpage, }; -#endif static const struct proto_ops packet_ops = { .family = PF_PACKET, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[SOCK]: Shrink struct sock by 8 bytes on 64-bit.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e07a91c37c69ec1647c218214591ee4fe3408fe Commit: 4e07a91c37c69ec1647c218214591ee4fe3408fe Parent: be02097cf6342eb0426833f54c95e0fb4c9bca45 Author: Arnaldo Carvalho de Melo [EMAIL PROTECTED] AuthorDate: Tue May 29 13:17:47 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:32 2007 -0700 [SOCK]: Shrink struct sock by 8 bytes on 64-bit. Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- include/net/sock.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/net/sock.h b/include/net/sock.h index 689b886..dfeb8b1 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -218,13 +218,13 @@ struct sock { atomic_tsk_rmem_alloc; atomic_tsk_wmem_alloc; atomic_tsk_omem_alloc; + int sk_sndbuf; struct sk_buff_head sk_receive_queue; struct sk_buff_head sk_write_queue; struct sk_buff_head sk_async_wait_queue; int sk_wmem_queued; int sk_forward_alloc; gfp_t sk_allocation; - int sk_sndbuf; int sk_route_caps; int sk_gso_type; int sk_rcvlowat; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[TCP]: Consolidate checking for tcp orphan count being too big.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4fd5da39f99d5921dda1fe3d93652fbd925fbfd Commit: e4fd5da39f99d5921dda1fe3d93652fbd925fbfd Parent: 4e07a91c37c69ec1647c218214591ee4fe3408fe Author: Pavel Emelianov [EMAIL PROTECTED] AuthorDate: Tue May 29 13:19:18 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:34 2007 -0700 [TCP]: Consolidate checking for tcp orphan count being too big. tcp_out_of_resources() and tcp_close() perform the same checking of number of orphan sockets. Move this code into common place. Signed-off-by: Pavel Emelianov [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- include/net/tcp.h|6 ++ net/ipv4/tcp.c |5 ++--- net/ipv4/tcp_timer.c |4 +--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index e22b4f0..a8af9ae 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -254,6 +254,12 @@ static inline int between(__u32 seq1, __u32 seq2, __u32 seq3) return seq3 - seq2 = seq1 - seq2; } +static inline int tcp_too_many_orphans(struct sock *sk, int num) +{ + return (num sysctl_tcp_max_orphans) || + (sk-sk_wmem_queued SOCK_MIN_SNDBUF +atomic_read(tcp_memory_allocated) sysctl_tcp_mem[2]); +} extern struct proto tcp_prot; diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index bd4c295..7663145 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1674,9 +1674,8 @@ adjudge_to_death: } if (sk-sk_state != TCP_CLOSE) { sk_stream_mem_reclaim(sk); - if (atomic_read(sk-sk_prot-orphan_count) sysctl_tcp_max_orphans || - (sk-sk_wmem_queued SOCK_MIN_SNDBUF -atomic_read(tcp_memory_allocated) sysctl_tcp_mem[2])) { + if (tcp_too_many_orphans(sk, + atomic_read(sk-sk_prot-orphan_count))) { if (net_ratelimit()) printk(KERN_INFO TCP: too many of orphaned sockets\n); diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 2ca97b2..e613401 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -78,9 +78,7 @@ static int tcp_out_of_resources(struct sock *sk, int do_reset) if (sk-sk_err_soft) orphans = 1; - if (orphans = sysctl_tcp_max_orphans || - (sk-sk_wmem_queued SOCK_MIN_SNDBUF -atomic_read(tcp_memory_allocated) sysctl_tcp_mem[2])) { + if (tcp_too_many_orphans(sk, orphans)) { if (net_ratelimit()) printk(KERN_INFO Out of socket memory\n); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[NET] napi: Call __netif_rx_complete in netif_rx_complete
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0ba66671a92f7d12fdbc42592d36e678f713efc Commit: b0ba66671a92f7d12fdbc42592d36e678f713efc Parent: e4fd5da39f99d5921dda1fe3d93652fbd925fbfd Author: Herbert Xu [EMAIL PROTECTED] AuthorDate: Tue May 29 13:22:52 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:35 2007 -0700 [NET] napi: Call __netif_rx_complete in netif_rx_complete This patch kills a little bit of code duplication between the two variants of netif_rx_complete. Signed-off-by: Herbert Xu [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- include/linux/netdevice.h | 27 --- 1 files changed, 12 insertions(+), 15 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index f671cd2..3a70f55 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -910,6 +910,17 @@ static inline int netif_rx_reschedule(struct net_device *dev, int undo) return 0; } +/* same as netif_rx_complete, except that local_irq_save(flags) + * has already been issued + */ +static inline void __netif_rx_complete(struct net_device *dev) +{ + BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, dev-state)); + list_del(dev-poll_list); + smp_mb__before_clear_bit(); + clear_bit(__LINK_STATE_RX_SCHED, dev-state); +} + /* Remove interface from poll list: it must be in the poll list * on current cpu. This primitive is called by dev-poll(), when * it completes the work. The device cannot be out of poll list at this @@ -920,10 +931,7 @@ static inline void netif_rx_complete(struct net_device *dev) unsigned long flags; local_irq_save(flags); - BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, dev-state)); - list_del(dev-poll_list); - smp_mb__before_clear_bit(); - clear_bit(__LINK_STATE_RX_SCHED, dev-state); + __netif_rx_complete(dev); local_irq_restore(flags); } @@ -940,17 +948,6 @@ static inline void netif_poll_enable(struct net_device *dev) clear_bit(__LINK_STATE_RX_SCHED, dev-state); } -/* same as netif_rx_complete, except that local_irq_save(flags) - * has already been issued - */ -static inline void __netif_rx_complete(struct net_device *dev) -{ - BUG_ON(!test_bit(__LINK_STATE_RX_SCHED, dev-state)); - list_del(dev-poll_list); - smp_mb__before_clear_bit(); - clear_bit(__LINK_STATE_RX_SCHED, dev-state); -} - static inline void netif_tx_lock(struct net_device *dev) { spin_lock(dev-_xmit_lock); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPV6] ADDRCONF: Fix conflicts in DEVCONF_xxx constant.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4540250be1d724943a55eb9668e6edc1aaae28c4 Commit: 4540250be1d724943a55eb9668e6edc1aaae28c4 Parent: b0ba66671a92f7d12fdbc42592d36e678f713efc Author: YOSHIFUJI Hideaki [EMAIL PROTECTED] AuthorDate: Tue May 29 13:23:34 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:36 2007 -0700 [IPV6] ADDRCONF: Fix conflicts in DEVCONF_xxx constant. Signed-off-by: YOSHIFUJI Hideaki [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- include/linux/ipv6.h |3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 09ea01a..648bd1f 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -209,9 +209,8 @@ enum { DEVCONF_RTR_PROBE_INTERVAL, DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN, DEVCONF_PROXY_NDP, - __DEVCONF_OPTIMISTIC_DAD, - DEVCONF_ACCEPT_SOURCE_ROUTE, DEVCONF_OPTIMISTIC_DAD, + DEVCONF_ACCEPT_SOURCE_ROUTE, DEVCONF_MAX }; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[TCP] tcp_probe: a trivial fix for mismatched number of printl arguments.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63313494c4419bd5d60b4f3ef8970a98525ac9d3 Commit: 63313494c4419bd5d60b4f3ef8970a98525ac9d3 Parent: 4540250be1d724943a55eb9668e6edc1aaae28c4 Author: Sangtae Ha [EMAIL PROTECTED] AuthorDate: Tue May 29 13:24:11 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:36 2007 -0700 [TCP] tcp_probe: a trivial fix for mismatched number of printl arguments. Just a fix to correct the number of printl arguments. Now, srtt is logging correctly. Signed-off-by: Sangtae Ha [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/ipv4/tcp_probe.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv4/tcp_probe.c b/net/ipv4/tcp_probe.c index 3938d5d..1b72c55 100644 --- a/net/ipv4/tcp_probe.c +++ b/net/ipv4/tcp_probe.c @@ -95,7 +95,7 @@ static int jtcp_rcv_established(struct sock *sk, struct sk_buff *skb, /* Only update if port matches */ if ((port == 0 || ntohs(inet-dport) == port || ntohs(inet-sport) == port) (full || tp-snd_cwnd != tcpw.lastcwnd)) { - printl(%d.%d.%d.%d:%u %d.%d.%d.%d:%u %d %#x %#x %u %u %u\n, + printl(%d.%d.%d.%d:%u %d.%d.%d.%d:%u %d %#x %#x %u %u %u %u\n, NIPQUAD(inet-saddr), ntohs(inet-sport), NIPQUAD(inet-daddr), ntohs(inet-dport), skb-len, tp-snd_nxt, tp-snd_una, - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[BRIDGE]: Reduce frequency of forwarding cleanup timer in bridge.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=071f7722686151817855195654f16a0b65d9473c Commit: 071f7722686151817855195654f16a0b65d9473c Parent: 67403754bceda484a62a697878ff20a0e8d3aae6 Author: Baruch Even [EMAIL PROTECTED] AuthorDate: Thu May 31 01:20:45 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:38 2007 -0700 [BRIDGE]: Reduce frequency of forwarding cleanup timer in bridge. The bridge cleanup timer is fired 10 times a second for timers that are at least 15 seconds ahead in time and that are not critical to be cleaned asap. This patch calculates the next time to run the timer as the minimum of all timers or a minimum based on the current state. Signed-off-by: Baruch Even [EMAIL PROTECTED] Signed-off-by: Stephen Hemminger [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/bridge/br_fdb.c | 14 +++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c index 91b0170..3fc6972 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c @@ -121,6 +121,7 @@ void br_fdb_cleanup(unsigned long _data) { struct net_bridge *br = (struct net_bridge *)_data; unsigned long delay = hold_time(br); + unsigned long next_timer = jiffies + br-forward_delay; int i; spin_lock_bh(br-hash_lock); @@ -129,14 +130,21 @@ void br_fdb_cleanup(unsigned long _data) struct hlist_node *h, *n; hlist_for_each_entry_safe(f, h, n, br-hash[i], hlist) { - if (!f-is_static - time_before_eq(f-ageing_timer + delay, jiffies)) + unsigned long this_timer; + if (f-is_static) + continue; + this_timer = f-ageing_timer + delay; + if (time_before_eq(this_timer, jiffies)) fdb_delete(f); + else if (this_timer next_timer) + next_timer = this_timer; } } spin_unlock_bh(br-hash_lock); - mod_timer(br-gc_timer, jiffies + HZ/10); + /* Add HZ/4 to ensure we round the jiffies upwards to be after the next +* timer, otherwise we might round down and will have no-op run. */ + mod_timer(br-gc_timer, round_jiffies(next_timer + HZ/4)); } /* Completely flush all dynamic entries in forwarding database.*/ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[BRIDGE]: Round off STP perodic timers.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a834b87c5544c347fd788cd9d4eb276402ab54a Commit: 9a834b87c5544c347fd788cd9d4eb276402ab54a Parent: 071f7722686151817855195654f16a0b65d9473c Author: Stephen Hemminger [EMAIL PROTECTED] AuthorDate: Thu May 31 01:21:39 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:23:39 2007 -0700 [BRIDGE]: Round off STP perodic timers. Peroidic STP timers don't have to be exact. The hold timer runs at 1HZ, and the hello timer normally runs at 2HZ; save power by aligning it them to next second. Signed-off-by: Stephen Hemminger [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- net/bridge/br_stp.c |3 ++- net/bridge/br_stp_timer.c |2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c index 0e035d6..e38034a 100644 --- a/net/bridge/br_stp.c +++ b/net/bridge/br_stp.c @@ -178,7 +178,8 @@ void br_transmit_config(struct net_bridge_port *p) br_send_config_bpdu(p, bpdu); p-topology_change_ack = 0; p-config_pending = 0; - mod_timer(p-hold_timer, jiffies + BR_HOLD_TIME); + mod_timer(p-hold_timer, + round_jiffies(jiffies + BR_HOLD_TIME)); } } diff --git a/net/bridge/br_stp_timer.c b/net/bridge/br_stp_timer.c index 24e0ca4..77f5255 100644 --- a/net/bridge/br_stp_timer.c +++ b/net/bridge/br_stp_timer.c @@ -42,7 +42,7 @@ static void br_hello_timer_expired(unsigned long arg) if (br-dev-flags IFF_UP) { br_config_bpdu_generation(br); - mod_timer(br-hello_timer, jiffies + br-hello_time); + mod_timer(br-hello_timer, round_jiffies(jiffies + br-hello_time)); } spin_unlock(br-lock); } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mac80211: fail back to use associate from reassociate
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f11b0f0eb2ea7562db63a01c60d398ec52d5ea46 Commit: f11b0f0eb2ea7562db63a01c60d398ec52d5ea46 Parent: c420bc9f09a0926b708c3edb27eacba434a4f4ba Author: Zhu Yi [EMAIL PROTECTED] AuthorDate: Wed May 9 13:41:52 2007 +0800 Committer: John W. Linville [EMAIL PROTECTED] CommitDate: Tue May 29 10:34:05 2007 -0400 [PATCH] mac80211: fail back to use associate from reassociate Some APs have strict checking between associate and reassociate. In a case when an AP is restarted during a connection, it denies the mac80211 reassoc request since this is a new association for the AP. To fix this problem, we need to check the status code against WLAN_STATUS_REASSOC_NO_ASSOC and clear ifsta-prev_bssid_set in handling the association failure response. Signed-off-by: Zhu Yi [EMAIL PROTECTED] Signed-off-by: John W. Linville [EMAIL PROTECTED] --- net/mac80211/ieee80211_sta.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c index 3e07e9d..dbac858 100644 --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c @@ -1155,6 +1155,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev, if (status_code != WLAN_STATUS_SUCCESS) { printk(KERN_DEBUG %s: AP denied association (code=%d)\n, dev-name, status_code); + if (status_code == WLAN_STATUS_REASSOC_NO_ASSOC) + ifsta-prev_bssid_set = 0; return; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mac80211: fix memory leak when defrag fragments
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8fdeca241e17dcc5b8f2465be8e1a6347c62fb9 Commit: e8fdeca241e17dcc5b8f2465be8e1a6347c62fb9 Parent: f11b0f0eb2ea7562db63a01c60d398ec52d5ea46 Author: Hong Liu [EMAIL PROTECTED] AuthorDate: Thu May 17 11:13:44 2007 +0800 Committer: John W. Linville [EMAIL PROTECTED] CommitDate: Tue May 29 10:34:05 2007 -0400 [PATCH] mac80211: fix memory leak when defrag fragments We forget to free all the fragments when defraging them into one packet. Signed-off-by: Hong Liu [EMAIL PROTECTED] Signed-off-by: John W. Linville [EMAIL PROTECTED] --- net/mac80211/ieee80211.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 6e36df6..145604a 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c @@ -3278,8 +3278,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx) return TXRX_DROP; } } - while ((skb = __skb_dequeue(entry-skb_list))) + while ((skb = __skb_dequeue(entry-skb_list))) { memcpy(skb_put(rx-skb, skb-len), skb-data, skb-len); + dev_kfree_skb(skb); + } /* Complete frame has been reassembled - process it now */ rx-fragmented = 1; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mac80211: always set carrier status on open
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52fb24cd83bdd6a1dcbd4cf4b3f5cafb741b5552 Commit: 52fb24cd83bdd6a1dcbd4cf4b3f5cafb741b5552 Parent: e8fdeca241e17dcc5b8f2465be8e1a6347c62fb9 Author: Michael Wu [EMAIL PROTECTED] AuthorDate: Sun May 20 09:44:00 2007 -0700 Committer: John W. Linville [EMAIL PROTECTED] CommitDate: Tue May 29 10:34:05 2007 -0400 [PATCH] mac80211: always set carrier status on open ieee80211_open should always set the carrier status since we may have set it to off before. Signed-off-by: Michael Wu [EMAIL PROTECTED] Signed-off-by: John W. Linville [EMAIL PROTECTED] --- net/mac80211/ieee80211.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 145604a..4e84f24 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c @@ -2474,6 +2474,8 @@ static int ieee80211_open(struct net_device *dev) if (sdata-type == IEEE80211_IF_TYPE_STA !local-user_space_mlme) netif_carrier_off(dev); + else + netif_carrier_on(dev); netif_start_queue(dev); return 0; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mac80211: avoid null ptr deref in ieee80211_ibss_add_sta
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91fa558ba28b0014205f2c1a75b1cceb4298aa04 Commit: 91fa558ba28b0014205f2c1a75b1cceb4298aa04 Parent: 52fb24cd83bdd6a1dcbd4cf4b3f5cafb741b5552 Author: John W. Linville [EMAIL PROTECTED] AuthorDate: Tue May 15 16:14:40 2007 -0400 Committer: John W. Linville [EMAIL PROTECTED] CommitDate: Tue May 29 10:34:05 2007 -0400 [PATCH] mac80211: avoid null ptr deref in ieee80211_ibss_add_sta avoid sdata null pointer dereference in ieee80211_ibss_add_sta. Signed-off-by: John W. Linville [EMAIL PROTECTED] --- net/mac80211/ieee80211_sta.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c index dbac858..9f30ae4 100644 --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c @@ -2997,7 +2997,7 @@ struct sta_info * ieee80211_ibss_add_sta(struct net_device *dev, { struct ieee80211_local *local = wdev_priv(dev-ieee80211_ptr); struct sta_info *sta; - struct ieee80211_sub_if_data *sdata = NULL; + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); /* TODO: Could consider removing the least recently used entry and * allow new one to be added. */ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[IPSEC]: Add xfrm_sysctl.txt.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=85553ddafc5415534bcbe63ffa3af6506e6a754e Commit: 85553ddafc5415534bcbe63ffa3af6506e6a754e Parent: 1acf6ba085777f91e9a815bb6b4dbe0fe62823b0 Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Thu May 31 01:34:55 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:34:55 2007 -0700 [IPSEC]: Add xfrm_sysctl.txt. And use it to document new xfrm_acq_expires sysctl. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- Documentation/networking/xfrm_sysctl.txt |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/Documentation/networking/xfrm_sysctl.txt b/Documentation/networking/xfrm_sysctl.txt new file mode 100644 index 000..5bbd167 --- /dev/null +++ b/Documentation/networking/xfrm_sysctl.txt @@ -0,0 +1,4 @@ +/proc/sys/net/core/xfrm_* Variables: + +xfrm_acq_expires - INTEGER + default 30 - hard timeout in seconds for acquire requests - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[SPARC64]: Add missing NCS and SVC hypervisor interfaces.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dbbe3cb8cff6b494ac2cba6a94dc7aabe7e5b635 Commit: dbbe3cb8cff6b494ac2cba6a94dc7aabe7e5b635 Parent: 3f0a6766e0cc5a577805732e5adb50a585c58175 Author: David S. Miller [EMAIL PROTECTED] AuthorDate: Wed May 30 19:01:47 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:52:48 2007 -0700 [SPARC64]: Add missing NCS and SVC hypervisor interfaces. Signed-off-by: David S. Miller [EMAIL PROTECTED] --- arch/sparc64/kernel/entry.S | 72 include/asm-sparc64/hypervisor.h | 168 ++ 2 files changed, 240 insertions(+), 0 deletions(-) diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S index 8f10dda..ed712e0 100644 --- a/arch/sparc64/kernel/entry.S +++ b/arch/sparc64/kernel/entry.S @@ -2498,3 +2498,75 @@ sun4v_vintr_set_target: retl nop .size sun4v_vintr_set_target, .-sun4v_vintr_set_target + + /* %o0: NCS sub-function +* %o1: sub-function arg real-address +* %o2: sub-function arg size +* +* returns %o0: status +*/ + .globl sun4v_ncs_request + .type sun4v_ncs_request,#function +sun4v_ncs_request: + mov HV_FAST_NCS_REQUEST, %o5 + ta HV_FAST_TRAP + retl +nop + .size sun4v_ncs_request, .-sun4v_ncs_request + + .globl sun4v_scv_send + .type sun4v_scv_send,#function +sun4v_scv_send: + save%sp, -192, %sp + mov %i0, %o0 + mov %i1, %o1 + mov %i2, %o2 + mov HV_FAST_SVC_SEND, %o5 + ta HV_FAST_TRAP + stx %o1, [%i3] + ret + restore + .size sun4v_scv_send, .-sun4v_scv_send + + .globl sun4v_scv_recv + .type sun4v_scv_recv,#function +sun4v_scv_recv: + save%sp, -192, %sp + mov %i0, %o0 + mov %i1, %o1 + mov %i2, %o2 + mov HV_FAST_SVC_RECV, %o5 + ta HV_FAST_TRAP + stx %o1, [%i3] + ret + restore + .size sun4v_scv_recv, .-sun4v_scv_recv + + .globl sun4v_scv_getstatus + .type sun4v_scv_getstatus,#function +sun4v_scv_getstatus: + mov HV_FAST_SVC_GETSTATUS, %o5 + mov %o1, %o4 + ta HV_FAST_TRAP + stx %o1, [%o4] + retl +nop + .size sun4v_scv_getstatus, .-sun4v_scv_getstatus + + .globl sun4v_scv_setstatus + .type sun4v_scv_setstatus,#function +sun4v_scv_setstatus: + mov HV_FAST_SVC_SETSTATUS, %o5 + ta HV_FAST_TRAP + retl +nop + .size sun4v_scv_setstatus, .-sun4v_scv_setstatus + + .globl sun4v_scv_clrstatus + .type sun4v_scv_clrstatus,#function +sun4v_scv_clrstatus: + mov HV_FAST_SVC_CLRSTATUS, %o5 + ta HV_FAST_TRAP + retl +nop + .size sun4v_scv_clrstatus, .-sun4v_scv_clrstatus diff --git a/include/asm-sparc64/hypervisor.h b/include/asm-sparc64/hypervisor.h index 5cdb1ff..4a43075 100644 --- a/include/asm-sparc64/hypervisor.h +++ b/include/asm-sparc64/hypervisor.h @@ -1097,6 +1097,80 @@ extern unsigned long sun4v_mach_set_soft_state(unsigned long soft_state, */ #define HV_FAST_MACH_GET_SOFT_STATE0x71 +/* svc_send() + * TRAP: HV_FAST_TRAP + * FUNCTION: HV_FAST_SVC_SEND + * ARG0: service ID + * ARG1: buffer real address + * ARG2: buffer size + * RET0: STATUS + * RET1: sent_bytes + * + * Be careful, all output registers are clobbered by this operation, + * so for example it is not possible to save away a value in %o4 + * across the trap. + */ +#define HV_FAST_SVC_SEND 0x80 + +/* svc_recv() + * TRAP: HV_FAST_TRAP + * FUNCTION: HV_FAST_SVC_RECV + * ARG0: service ID + * ARG1: buffer real address + * ARG2: buffer size + * RET0: STATUS + * RET1: recv_bytes + * + * Be careful, all output registers are clobbered by this operation, + * so for example it is not possible to save away a value in %o4 + * across the trap. + */ +#define HV_FAST_SVC_RECV 0x81 + +/* svc_getstatus() + * TRAP: HV_FAST_TRAP + * FUNCTION: HV_FAST_SVC_GETSTATUS + * ARG0: service ID + * RET0: STATUS + * RET1: status bits + */ +#define HV_FAST_SVC_GETSTATUS 0x82 + +/* svc_setstatus() + * TRAP: HV_FAST_TRAP + * FUNCTION: HV_FAST_SVC_SETSTATUS + * ARG0: service ID + * ARG1: bits to set + * RET0: STATUS + */ +#define HV_FAST_SVC_SETSTATUS 0x83 + +/* svc_clrstatus() + * TRAP: HV_FAST_TRAP + * FUNCTION: HV_FAST_SVC_CLRSTATUS + * ARG0: service ID + * ARG1: bits to clear + * RET0: STATUS + */ +#define HV_FAST_SVC_CLRSTATUS 0x84 + +#ifndef __ASSEMBLY__ +extern unsigned long sun4v_svc_send(unsigned long svc_id, +
[SPARC32]: Build fix.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1fb8812ba5a4c34b680d4405216310233f3c7573 Commit: 1fb8812ba5a4c34b680d4405216310233f3c7573 Parent: dbbe3cb8cff6b494ac2cba6a94dc7aabe7e5b635 Author: Andrew Morton [EMAIL PROTECTED] AuthorDate: Thu May 31 01:19:24 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:52:51 2007 -0700 [SPARC32]: Build fix. Fix 6197fe4d720ea3e2ee94cdc7ef32d6c0151199de arch/sparc/lib/atomic32.c: In function '__cmpxchg_u32': arch/sparc/lib/atomic32.c:127: error: 'addr' undeclared (first use in this function) arch/sparc/lib/atomic32.c:127: error: (Each undeclared identifier is reported only once arch/sparc/lib/atomic32.c:127: error: for each function it appears in.) I assume this is what was intended.. Signed-off-by: Andrew Morton [EMAIL PROTECTED] Acked-by: William Irwin [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- arch/sparc/lib/atomic32.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/sparc/lib/atomic32.c b/arch/sparc/lib/atomic32.c index 617d298..cbddeb3 100644 --- a/arch/sparc/lib/atomic32.c +++ b/arch/sparc/lib/atomic32.c @@ -124,10 +124,10 @@ unsigned long __cmpxchg_u32(volatile u32 *ptr, u32 old, u32 new) unsigned long flags; u32 prev; - spin_lock_irqsave(ATOMIC_HASH(addr), flags); + spin_lock_irqsave(ATOMIC_HASH(ptr), flags); if ((prev = *ptr) == old) *ptr = new; - spin_unlock_irqrestore(ATOMIC_HASH(addr), flags); + spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags); return (unsigned long)prev; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[SPARC]: Missing #include linux/mm.h in drivers/sbus/char/flash.c
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a73709ecc6a972c94e6ff9c0cc639f8f38b9151 Commit: 8a73709ecc6a972c94e6ff9c0cc639f8f38b9151 Parent: 1fb8812ba5a4c34b680d4405216310233f3c7573 Author: Horst H. von Brand [EMAIL PROTECTED] AuthorDate: Thu May 31 01:27:52 2007 -0700 Committer: David S. Miller [EMAIL PROTECTED] CommitDate: Thu May 31 01:52:53 2007 -0700 [SPARC]: Missing #include linux/mm.h in drivers/sbus/char/flash.c drivers/sbus/char/flash.c does use macros VM_READ and such, needs to include linux/mm.h. Signed-off-by: Horst H. von Brand [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] --- drivers/sbus/char/flash.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/sbus/char/flash.c b/drivers/sbus/char/flash.c index 262f01e..44e0398 100644 --- a/drivers/sbus/char/flash.c +++ b/drivers/sbus/char/flash.c @@ -14,6 +14,7 @@ #include linux/init.h #include linux/smp_lock.h #include linux/spinlock.h +#include linux/mm.h #include asm/system.h #include asm/uaccess.h - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] HDA: Add support for Gateway NX860
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c11f955b27edaf0270185781391abe6f39b7ed0 Commit: 2c11f955b27edaf0270185781391abe6f39b7ed0 Parent: 3f0a6766e0cc5a577805732e5adb50a585c58175 Author: Tobin Davis [EMAIL PROTECTED] AuthorDate: Thu May 17 09:36:34 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:01 2007 +0200 [ALSA] HDA: Add support for Gateway NX860 This patch adds support for the Gateway NX860 system. Signed-off-by: Tobin Davis [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- Documentation/sound/alsa/ALSA-Configuration.txt |1 + sound/pci/hda/patch_sigmatel.c | 30 +- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 57b878c..355ff0a 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt @@ -917,6 +917,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. ref Reference board, base config m2-2 Some Gateway MX series laptops m6Some Gateway NX series laptops + pa6 Gateway NX860 series STAC9227/9228/9229/927x ref Reference board diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index a6a0a80..6e6818c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -51,6 +51,7 @@ enum { STAC_925x_REF, STAC_M2_2, STAC_MA6, + STAC_PA6, STAC_925x_MODELS }; @@ -152,6 +153,10 @@ static hda_nid_t stac925x_dac_nids[1] = { 0x02, }; +static hda_nid_t stac925x_dmic_nids[1] = { + 0x15, +}; + static hda_nid_t stac922x_adc_nids[2] = { 0x06, 0x07, }; @@ -482,6 +487,11 @@ static unsigned int stac925x_MA6_pin_configs[8] = { 0x90a70320, 0x90100211, 0x43f1, 0x9033032e, }; +static unsigned int stac925x_PA6_pin_configs[8] = { + 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021, + 0x50a103f0, 0x90100211, 0x43f1, 0x9033032e, +}; + static unsigned int stac925xM2_2_pin_configs[8] = { 0x40c003f3, 0x424503f2, 0x041800f4, 0x02a19020, 0x50a103F0, 0x90100210, 0x43f1, 0x9033032e, @@ -491,20 +501,24 @@ static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = { [STAC_REF] = ref925x_pin_configs, [STAC_M2_2] = stac925xM2_2_pin_configs, [STAC_MA6] = stac925x_MA6_pin_configs, + [STAC_PA6] = stac925x_PA6_pin_configs, }; static const char *stac925x_models[STAC_925x_MODELS] = { [STAC_REF] = ref, [STAC_M2_2] = m2-2, [STAC_MA6] = m6, + [STAC_PA6] = pa6, }; static struct snd_pci_quirk stac925x_cfg_tbl[] = { /* SigmaTel reference board */ SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668, DFI LanParty, STAC_REF), + SND_PCI_QUIRK(0x8384, 0x7632, Stac9202 Reference Board, STAC_REF), SND_PCI_QUIRK(0x107b, 0x0316, Gateway M255, STAC_REF), SND_PCI_QUIRK(0x107b, 0x0366, Gateway MP6954, STAC_REF), SND_PCI_QUIRK(0x107b, 0x0461, Gateway NX560XL, STAC_MA6), + SND_PCI_QUIRK(0x107b, 0x0681, Gateway NX860, STAC_PA6), SND_PCI_QUIRK(0x1002, 0x437b, Gateway MX6453, STAC_M2_2), {} /* terminator */ }; @@ -1911,7 +1925,8 @@ static int patch_stac925x(struct hda_codec *codec) stac925x_cfg_tbl); again: if (spec-board_config 0) { - snd_printdd(KERN_INFO hda_codec: Unknown model for STAC925x, using BIOS defaults\n); + snd_printdd(KERN_INFO hda_codec: Unknown model for STAC925x, + using BIOS defaults\n); err = stac92xx_save_bios_config_regs(codec); if (err 0) { stac92xx_free(codec); @@ -1929,7 +1944,18 @@ static int patch_stac925x(struct hda_codec *codec) spec-adc_nids = stac925x_adc_nids; spec-mux_nids = stac925x_mux_nids; spec-num_muxes = 1; - spec-num_dmics = 0; + switch (codec-vendor_id) { + case 0x83847632: /* STAC9202 */ + case 0x83847633: /* STAC9202D */ + case 0x83847636: /* STAC9251 */ + case 0x83847637: /* STAC9251D */ + spec-num_dmics = 1; + spec-dmic_nids = stac925x_dmic_nids; + break; + default: + spec-num_dmics = 0; + break; + } spec-init = stac925x_core_init; spec-mixer = stac925x_mixer; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] HDA: Add more systems to Sigmatel codec
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49c605db8d75216f88c3a57cfed3adfaddb71c6a Commit: 49c605db8d75216f88c3a57cfed3adfaddb71c6a Parent: 2c11f955b27edaf0270185781391abe6f39b7ed0 Author: Tobin Davis [EMAIL PROTECTED] AuthorDate: Thu May 17 09:38:24 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:02 2007 +0200 [ALSA] HDA: Add more systems to Sigmatel codec This patch adds more Dell systems and a Panasonic laptop with STAC9200 codecs. Signed-off-by: Tobin Davis [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_sigmatel.c |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 6e6818c..7188c9c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -474,6 +474,14 @@ static struct snd_pci_quirk stac9200_cfg_tbl[] = { Dell Precision M90, STAC_REF), SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d6, unknown Dell, STAC_REF), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d8, + Dell Inspiron 640m, STAC_REF), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01f5, + Dell Inspiron 1501, STAC_REF), + + /* Panasonic */ + SND_PCI_QUIRK(0x10f7, 0x8338, Panasonic CF-74, STAC_REF), + {} /* terminator */ }; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] HDA: Fix headphone mute issue on non-eapd Conexant systems
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb3409e71f0e5cb3e22327eba2e4d6fbd51d54df Commit: fb3409e71f0e5cb3e22327eba2e4d6fbd51d54df Parent: 49c605db8d75216f88c3a57cfed3adfaddb71c6a Author: Tobin Davis [EMAIL PROTECTED] AuthorDate: Thu May 17 09:40:47 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:02 2007 +0200 [ALSA] HDA: Fix headphone mute issue on non-eapd Conexant systems This patch fixes an automute code issue for systems that do not rely on eapd support. Signed-off-by: Tobin Davis [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_conexant.c | 48 +++- 1 files changed, 47 insertions(+), 1 deletions(-) diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index a5a4b2b..bef214b 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c @@ -705,6 +705,17 @@ static struct snd_kcontrol_new cxt5045_test_mixer[] = { .get = conexant_mux_enum_get, .put = conexant_mux_enum_put, }, + /* Audio input controls */ + HDA_CODEC_VOLUME(Input-1 Volume, 0x1a, 0x0, HDA_INPUT), + HDA_CODEC_MUTE(Input-1 Switch, 0x1a, 0x0, HDA_INPUT), + HDA_CODEC_VOLUME(Input-2 Volume, 0x1a, 0x1, HDA_INPUT), + HDA_CODEC_MUTE(Input-2 Switch, 0x1a, 0x1, HDA_INPUT), + HDA_CODEC_VOLUME(Input-3 Volume, 0x1a, 0x2, HDA_INPUT), + HDA_CODEC_MUTE(Input-3 Switch, 0x1a, 0x2, HDA_INPUT), + HDA_CODEC_VOLUME(Input-4 Volume, 0x1a, 0x3, HDA_INPUT), + HDA_CODEC_MUTE(Input-4 Switch, 0x1a, 0x3, HDA_INPUT), + HDA_CODEC_VOLUME(Input-5 Volume, 0x1a, 0x4, HDA_INPUT), + HDA_CODEC_MUTE(Input-5 Switch, 0x1a, 0x4, HDA_INPUT), { } /* end */ }; @@ -947,6 +958,23 @@ static void cxt5047_hp_automute(struct hda_codec *codec) snd_hda_codec_amp_update(codec, 0x1c, 1, HDA_OUTPUT, 0, 0x80, bits); } +/* mute internal speaker if HP is plugged */ +static void cxt5047_hp2_automute(struct hda_codec *codec) +{ + struct conexant_spec *spec = codec-spec; + unsigned int bits; + + spec-hp_present = snd_hda_codec_read(codec, 0x13, 0, +AC_VERB_GET_PIN_SENSE, 0) 0x8000; + + bits = spec-hp_present ? 0x80 : 0; + snd_hda_codec_amp_update(codec, 0x1d, 0, HDA_OUTPUT, 0, 0x80, bits); + snd_hda_codec_amp_update(codec, 0x1d, 1, HDA_OUTPUT, 0, 0x80, bits); + /* Mute/Unmute PCM 2 for good measure - some systems need this */ + snd_hda_codec_amp_update(codec, 0x1c, 0, HDA_OUTPUT, 0, 0x80, bits); + snd_hda_codec_amp_update(codec, 0x1c, 1, HDA_OUTPUT, 0, 0x80, bits); +} + /* toggle input of built-in and mic jack appropriately */ static void cxt5047_hp_automic(struct hda_codec *codec) { @@ -985,6 +1013,21 @@ static void cxt5047_hp_unsol_event(struct hda_codec *codec, } } +/* unsolicited event for HP jack sensing - non-EAPD systems */ +static void cxt5047_hp2_unsol_event(struct hda_codec *codec, + unsigned int res) +{ + res = 26; + switch (res) { + case CONEXANT_HP_EVENT: + cxt5047_hp2_automute(codec); + break; + case CONEXANT_MIC_EVENT: + cxt5047_hp_automic(codec); + break; + } +} + static struct snd_kcontrol_new cxt5047_mixers[] = { HDA_CODEC_VOLUME(Mic Bypass Capture Volume, 0x19, 0x02, HDA_INPUT), HDA_CODEC_MUTE(Mic Bypass Capture Switch, 0x19, 0x02, HDA_INPUT), @@ -1300,19 +1343,20 @@ static int patch_cxt5047(struct hda_codec *codec) spec-channel_mode = cxt5047_modes, codec-patch_ops = conexant_patch_ops; - codec-patch_ops.unsol_event = cxt5047_hp_unsol_event; board_config = snd_hda_check_board_config(codec, CXT5047_MODELS, cxt5047_models, cxt5047_cfg_tbl); switch (board_config) { case CXT5047_LAPTOP: + codec-patch_ops.unsol_event = cxt5047_hp2_unsol_event; break; case CXT5047_LAPTOP_HP: spec-input_mux = cxt5047_hp_capture_source; spec-num_init_verbs = 2; spec-init_verbs[1] = cxt5047_hp_init_verbs; spec-mixers[0] = cxt5047_hp_mixers; + codec-patch_ops.unsol_event = cxt5047_hp_unsol_event; codec-patch_ops.init = cxt5047_hp_init; break; case CXT5047_LAPTOP_EAPD: @@ -1320,12 +1364,14 @@ static int patch_cxt5047(struct hda_codec *codec) spec-num_init_verbs = 2; spec-init_verbs[1] = cxt5047_toshiba_init_verbs; spec-mixers[0] = cxt5047_toshiba_mixers; +
[ALSA] hda-codec - Add support for ASUS A8J modem
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b542985edeed1a1af124ee055e2d35a30489d93 Commit: 3b542985edeed1a1af124ee055e2d35a30489d93 Parent: fb3409e71f0e5cb3e22327eba2e4d6fbd51d54df Author: Christian Rothlaender [EMAIL PROTECTED] AuthorDate: Fri May 18 16:55:26 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:02 2007 +0200 [ALSA] hda-codec - Add support for ASUS A8J modem This patch adds support for the ASUS A8J Series 56k Modem (Motorola SM56) Signed-off-by: Christian Rothlaender [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_si3054.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_si3054.c b/sound/pci/hda/patch_si3054.c index 6fcda9b..43f537e 100644 --- a/sound/pci/hda/patch_si3054.c +++ b/sound/pci/hda/patch_si3054.c @@ -304,6 +304,8 @@ struct hda_codec_preset snd_hda_preset_si3054[] = { { .id = 0x10573055, .name = Si3054, .patch = patch_si3054 }, { .id = 0x10573057, .name = Si3054, .patch = patch_si3054 }, { .id = 0x10573155, .name = Si3054, .patch = patch_si3054 }, + /* Asus A8J Modem (SM56) */ + { .id = 0x15433155, .name = Si3054, .patch = patch_si3054 }, {} }; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] ali5451 - Fix possible NULL dereference
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2704364248378193a24505e414dbfd4201053349 Commit: 2704364248378193a24505e414dbfd4201053349 Parent: 3b542985edeed1a1af124ee055e2d35a30489d93 Author: Takashi Iwai [EMAIL PROTECTED] AuthorDate: Sat May 19 16:30:35 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:02 2007 +0200 [ALSA] ali5451 - Fix possible NULL dereference Reported by Eric Sesterhenn. Fix the wrong checks of extra voice pointer, which may cause NULL dereferences. Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/ali5451/ali5451.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c index e1ed595..cb59f99 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c @@ -1250,7 +1250,7 @@ static int snd_ali_playback_hw_params(struct snd_pcm_substream *substream, evoice-substream = substream; } } else { - if (!evoice) { + if (evoice) { snd_ali_free_voice(codec, evoice); pvoice-extra = evoice = NULL; } @@ -1267,7 +1267,7 @@ static int snd_ali_playback_hw_free(struct snd_pcm_substream *substream) struct snd_ali_voice *evoice = pvoice ? pvoice-extra : NULL; snd_pcm_lib_free_pages(substream); - if (!evoice) { + if (evoice) { snd_ali_free_voice(codec, evoice); pvoice-extra = NULL; } @@ -1356,7 +1356,7 @@ static int snd_ali_playback_prepare(struct snd_pcm_substream *substream) VOL, CTRL, EC); - if (!evoice) { + if (evoice) { evoice-count = pvoice-count; evoice-eso = pvoice-count 1; ESO = evoice-eso - 1; - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] Fix ASoC s3c24xx-pcm spinlock bug
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c72816b79e9735284b3c0f6b3a4aa4e1c0537c0d Commit: c72816b79e9735284b3c0f6b3a4aa4e1c0537c0d Parent: 36c3b4e60a83187e82bc9bcde854e765bde3d670 Author: Zoltan Devai [EMAIL PROTECTED] AuthorDate: Tue May 22 16:17:05 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:03 2007 +0200 [ALSA] Fix ASoC s3c24xx-pcm spinlock bug This should fix a spinlock lockup bug on the s3c24xx arch. From: Zoltan Devai [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/soc/s3c24xx/s3c24xx-pcm.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/sound/soc/s3c24xx/s3c24xx-pcm.c b/sound/soc/s3c24xx/s3c24xx-pcm.c index 21dc697..bfbdc3c 100644 --- a/sound/soc/s3c24xx/s3c24xx-pcm.c +++ b/sound/soc/s3c24xx/s3c24xx-pcm.c @@ -337,6 +337,8 @@ static int s3c24xx_pcm_open(struct snd_pcm_substream *substream) if (prtd == NULL) return -ENOMEM; + spin_lock_init(prtd-lock); + runtime-private_data = prtd; return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] hda-codec - Add quirk for MSI S420
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd146a60cb70a843a8b3a21560fdcfb4c0c9c850 Commit: dd146a60cb70a843a8b3a21560fdcfb4c0c9c850 Parent: c72816b79e9735284b3c0f6b3a4aa4e1c0537c0d Author: Baruch Even [EMAIL PROTECTED] AuthorDate: Fri May 25 12:18:49 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:03 2007 +0200 [ALSA] hda-codec - Add quirk for MSI S420 Add a quirk for MSI S420 (based on a guess work). From: Baruch Even [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_realtek.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index e37efba..ab26c34 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6381,6 +6381,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { SND_PCI_QUIRK(0x1462, 0x7187, MSI, ALC883_6ST_DIG), SND_PCI_QUIRK(0x1462, 0x7280, MSI, ALC883_6ST_DIG), SND_PCI_QUIRK(0x1462, 0x0579, MSI, ALC883_TARGA_2ch_DIG), + SND_PCI_QUIRK(0x1462, 0x3729, MSI S420, ALC883_TARGA_DIG), SND_PCI_QUIRK(0x1462, 0x3ef9, MSI, ALC883_TARGA_DIG), SND_PCI_QUIRK(0x1462, 0x3b7f, MSI, ALC883_TARGA_2ch_DIG), SND_PCI_QUIRK(0x1462, 0x3fcc, MSI, ALC883_TARGA_DIG), - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] hda-codec - Add quirk for Supermicro PDSBA to alc883_cfg_tbl[]
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e60623b406ff3f8fea145466557f22daea671ae1 Commit: e60623b406ff3f8fea145466557f22daea671ae1 Parent: dd146a60cb70a843a8b3a21560fdcfb4c0c9c850 Author: Daniel T Chen [EMAIL PROTECTED] AuthorDate: Tue May 29 03:41:55 2007 -0400 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:03 2007 +0200 [ALSA] hda-codec - Add quirk for Supermicro PDSBA to alc883_cfg_tbl[] Tested and verified in #alsa/Freenode on Tuesday, May 29, 2007. Signed-off-by: Daniel T Chen [EMAIL PROTECTED] Signed-off-by: [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_realtek.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index ab26c34..583c51f 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6392,6 +6392,7 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { SND_PCI_QUIRK(0x1462, 0x4324, MSI, ALC883_TARGA_DIG), SND_PCI_QUIRK(0x1462, 0xa422, MSI, ALC883_TARGA_2ch_DIG), SND_PCI_QUIRK(0x1025, 0, Acer laptop, ALC883_ACER), + SND_PCI_QUIRK(0x15d9, 0x8780, Supermicro PDSBA, ALC883_3ST_6ch), SND_PCI_QUIRK(0x161f, 0x2054, Medion laptop, ALC883_MEDION), SND_PCI_QUIRK(0x1071, 0x8258, Evesham Voyaeger, ALC883_LAPTOP_EAPD), SND_PCI_QUIRK(0x8086, 0xd601, D102GGC, ALC883_3ST_6ch), - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] hda-codec - Fix pin configs for Gateway MX6453
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7353e14d91b78dc6da0d93fb081346c5ef854876 Commit: 7353e14d91b78dc6da0d93fb081346c5ef854876 Parent: 799f88a3126cae3e59409f135da925cb0c1bc2c1 Author: Steve Longerbeam [EMAIL PROTECTED] AuthorDate: Tue May 29 14:36:17 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:03 2007 +0200 [ALSA] hda-codec - Fix pin configs for Gateway MX6453 Fix pin default configs for speaker associations and sequence for Gateway MX6453 machine with STAC925x codecs. Signed-off-by: Steve Longerbeam [EMAIL PROTECTED] Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_sigmatel.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 7188c9c..1527cb6 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -501,8 +501,8 @@ static unsigned int stac925x_PA6_pin_configs[8] = { }; static unsigned int stac925xM2_2_pin_configs[8] = { - 0x40c003f3, 0x424503f2, 0x041800f4, 0x02a19020, - 0x50a103F0, 0x90100210, 0x43f1, 0x9033032e, + 0x40c003f3, 0x424503f2, 0x04180011, 0x02a19020, + 0x50a103f0, 0x90100212, 0x43f1, 0x9033032e, }; static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = { - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] hda-codec - Fix input with STAC92xx
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9acba4347ac2145456aa8dedaab3d74761da42a Commit: f9acba4347ac2145456aa8dedaab3d74761da42a Parent: 7353e14d91b78dc6da0d93fb081346c5ef854876 Author: Takashi Iwai [EMAIL PROTECTED] AuthorDate: Tue May 29 18:01:06 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:04 2007 +0200 [ALSA] hda-codec - Fix input with STAC92xx The recent fix for STAC92xx surround outputs broke the input pin setting for shared line-in and mic jacks. This patch fixes the breakage. Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/patch_sigmatel.c | 15 +++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 1527cb6..33fc7cd 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -1764,6 +1764,21 @@ static void stac92xx_set_pinctl(struct hda_codec *codec, hda_nid_t nid, unsigned int pin_ctl = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0x00); + if (pin_ctl AC_PINCTL_IN_EN) { + /* +* we need to check the current set-up direction of +* shared input pins since they can be switched via +* xxx as Output mixer switch +*/ + struct sigmatel_spec *spec = codec-spec; + struct auto_pin_cfg *cfg = spec-autocfg; + if ((nid == cfg-input_pins[AUTO_PIN_LINE] +spec-line_switch) || + (nid == cfg-input_pins[AUTO_PIN_MIC] +spec-mic_switch)) + return; + } + /* if setting pin direction bits, clear the current direction bits first */ if (flag (AC_PINCTL_IN_EN | AC_PINCTL_OUT_EN)) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] hda-codec - Fix STAC922x capture boost level
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=897cc188f7f0e402b92a4a6a9e234b45c612eb42 Commit: 897cc188f7f0e402b92a4a6a9e234b45c612eb42 Parent: f9acba4347ac2145456aa8dedaab3d74761da42a Author: Takashi Iwai [EMAIL PROTECTED] AuthorDate: Tue May 29 19:01:37 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 09:06:04 2007 +0200 [ALSA] hda-codec - Fix STAC922x capture boost level STAC922x provides the capture boost level up to 4, but actually it works only up to 2. Since the range of the mixer is automatically defined from amp-capability bits, we need to override the value beforehand. snd_hda_override_amp_caps() is introduced for this purpose. The function patch_stac922x() calls this for NID 0x12 (Mux Capture Volume). This should fix another recording problem on Intel Macs. Signed-off-by: Takashi Iwai [EMAIL PROTECTED] Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- sound/pci/hda/hda_codec.c | 13 + sound/pci/hda/hda_local.h |2 ++ sound/pci/hda/patch_sigmatel.c |7 +++ 3 files changed, 22 insertions(+), 0 deletions(-) diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index 8e89d56..f87f8f0 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c @@ -713,6 +713,19 @@ static u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction) return info-amp_caps; } +int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, + unsigned int caps) +{ + struct hda_amp_info *info; + + info = get_alloc_amp_hash(codec, HDA_HASH_KEY(nid, dir, 0)); + if (!info) + return -EINVAL; + info-amp_caps = caps; + info-status |= INFO_AMP_CAPS; + return 0; +} + /* * read the current volume to info * if the cache exists, read the cache value. diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h index be12b88..f91ea5e 100644 --- a/sound/pci/hda/hda_local.h +++ b/sound/pci/hda/hda_local.h @@ -277,5 +277,7 @@ static inline u32 get_wcaps(struct hda_codec *codec, hda_nid_t nid) return codec-wcaps[nid - codec-start_nid]; } +int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, + unsigned int caps); #endif /* __SOUND_HDA_LOCAL_H */ diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 33fc7cd..e3964fc 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -2159,6 +2159,13 @@ static int patch_stac927x(struct hda_codec *codec) codec-patch_ops = stac92xx_patch_ops; + /* Fix Mux capture level; max to 2 */ + snd_hda_override_amp_caps(codec, 0x12, HDA_OUTPUT, + (0 AC_AMPCAP_OFFSET_SHIFT) | + (2 AC_AMPCAP_NUM_STEPS_SHIFT) | + (0x27 AC_AMPCAP_STEP_SIZE_SHIFT) | + (0 AC_AMPCAP_MUTE_SHIFT)); + return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[ALSA] version 1.0.14
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=672cc6c6c72673570b5ca44fe8a8b9ed604f5a4f Commit: 672cc6c6c72673570b5ca44fe8a8b9ed604f5a4f Parent: 897cc188f7f0e402b92a4a6a9e234b45c612eb42 Author: Jaroslav Kysela [EMAIL PROTECTED] AuthorDate: Thu May 31 11:03:27 2007 +0200 Committer: Jaroslav Kysela [EMAIL PROTECTED] CommitDate: Thu May 31 11:03:27 2007 +0200 [ALSA] version 1.0.14 Signed-off-by: Jaroslav Kysela [EMAIL PROTECTED] --- include/sound/version.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sound/version.h b/include/sound/version.h index 50ee4fd..8e5b2f0 100644 --- a/include/sound/version.h +++ b/include/sound/version.h @@ -1,3 +1,3 @@ /* include/version.h. Generated by alsa/ksync script. */ -#define CONFIG_SND_VERSION 1.0.14rc4 -#define CONFIG_SND_DATE (Wed May 16 09:45:46 2007 UTC) +#define CONFIG_SND_VERSION 1.0.14 +#define CONFIG_SND_DATE (Thu May 31 09:03:25 2007 UTC) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sh: section mismatch fixes for system timer.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ddd43b063d16cdeffbc18f00b72c112f246fae78 Commit: ddd43b063d16cdeffbc18f00b72c112f246fae78 Parent: cdb7532f7be35c3675b1aed54d10e378014618b6 Author: Paul Mundt [EMAIL PROTECTED] AuthorDate: Wed May 23 12:24:32 2007 +0900 Committer: Paul Mundt [EMAIL PROTECTED] CommitDate: Wed May 23 12:24:32 2007 +0900 sh: section mismatch fixes for system timer. Fix up a couple of section mismatch warnings regarding sys_timer. Signed-off-by: Paul Mundt [EMAIL PROTECTED] --- arch/sh/kernel/timers/timer.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/sh/kernel/timers/timer.c b/arch/sh/kernel/timers/timer.c index a6bcc91..4e7e747 100644 --- a/arch/sh/kernel/timers/timer.c +++ b/arch/sh/kernel/timers/timer.c @@ -13,7 +13,7 @@ #include linux/string.h #include asm/timer.h -static struct sys_timer *sys_timers[] __initdata = { +static struct sys_timer *sys_timers[] = { #ifdef CONFIG_SH_TMU tmu_timer, #endif @@ -26,7 +26,7 @@ static struct sys_timer *sys_timers[] __initdata = { NULL, }; -static char timer_override[10] __initdata; +static char timer_override[10]; static int __init timer_setup(char *str) { if (str) @@ -53,4 +53,3 @@ struct sys_timer *get_sys_timer(void) return NULL; } - - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sh: Fix pcrel too far for in_nmi label.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=370ac91aab8403d74c2b59c3b43692eaed4ef268 Commit: 370ac91aab8403d74c2b59c3b43692eaed4ef268 Parent: ddd43b063d16cdeffbc18f00b72c112f246fae78 Author: Takashi YOSHII [EMAIL PROTECTED] AuthorDate: Thu May 31 13:42:21 2007 +0900 Committer: Paul Mundt [EMAIL PROTECTED] CommitDate: Thu May 31 13:42:21 2007 +0900 sh: Fix pcrel too far for in_nmi label. Add lost in_nmi definition to solve pcrel too far. Signed-off-by: Takashi YOSHII [EMAIL PROTECTED] Signed-off-by: Paul Mundt [EMAIL PROTECTED] --- arch/sh/kernel/cpu/sh3/entry.S |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index 832c0b4..659cc08 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S @@ -320,6 +320,7 @@ skip_restore: .align 2 5: .long 0x1000 ! DSP +6: .long in_nmi 7: .long 0x3000 ! common exception handler - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sh: Trivial fix for dma-api compile failure.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bdff33ddd906b2ab9eb70e9098f507fac6d56b70 Commit: bdff33ddd906b2ab9eb70e9098f507fac6d56b70 Parent: 370ac91aab8403d74c2b59c3b43692eaed4ef268 Author: Manuel Lauss [EMAIL PROTECTED] AuthorDate: Thu May 31 13:44:17 2007 +0900 Committer: Paul Mundt [EMAIL PROTECTED] CommitDate: Thu May 31 13:44:17 2007 +0900 sh: Trivial fix for dma-api compile failure. Trivial fix for arch/sh/drivers/dma/dma-api.c compile failure: CC arch/sh/drivers/dma/dma-api.o a/arch/sh/drivers/dma/dma-api.c: In function 'dma_wait_for_completion': a/arch/sh/drivers/dma/dma-api.c:233: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) a/arch/sh/drivers/dma/dma-api.c:233: error: (Each undeclared identifier is reported only once a/arch/sh/drivers/dma/dma-api.c:233: error: for each function it appears in.) a/arch/sh/drivers/dma/dma-api.c:233: warning: implicit declaration of function 'schedule' Signed-off-by: Manuel Lauss [EMAIL PROTECTED] Signed-off-by: Paul Mundt [EMAIL PROTECTED] --- arch/sh/drivers/dma/dma-api.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/sh/drivers/dma/dma-api.c b/arch/sh/drivers/dma/dma-api.c index 8057a27..cf8e119 100644 --- a/arch/sh/drivers/dma/dma-api.c +++ b/arch/sh/drivers/dma/dma-api.c @@ -16,6 +16,7 @@ #include linux/list.h #include linux/platform_device.h #include linux/mm.h +#include linux/sched.h #include asm/dma.h DEFINE_SPINLOCK(dma_spin_lock); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sh: trivial build cleanups.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66c5227ecd3041b0467a091ad81b8d312e572ea8 Commit: 66c5227ecd3041b0467a091ad81b8d312e572ea8 Parent: f75522cea12fe1ed9336c1a02b170bd06383e8a3 Author: Evgeniy Polyakov [EMAIL PROTECTED] AuthorDate: Thu May 31 13:46:21 2007 +0900 Committer: Paul Mundt [EMAIL PROTECTED] CommitDate: Thu May 31 13:46:21 2007 +0900 sh: trivial build cleanups. Several errors were spotted during building for custom config (SMP included). Although SMP still does not compile (no ipi and __smp_call_function) and does not work, this looks a bit cleaner. Some other errors obtained via gcc-4.1.0 build. Signed-off-by: Evgeniy Polyakov [EMAIL PROTECTED] Signed-off-by: Paul Mundt [EMAIL PROTECTED] --- arch/sh/kernel/cf-enabler.c |6 ++ arch/sh/kernel/cpu/sh4/probe.c |1 + arch/sh/kernel/smp.c|2 ++ include/asm-sh/cpu-sh4/freq.h |3 +++ include/asm-sh/dma.h|1 + include/asm-sh/io.h |6 +++--- include/asm-sh/smp.h|2 +- include/asm-sh/spinlock.h |8 +++- include/asm-sh/spinlock_types.h |4 +++- 9 files changed, 27 insertions(+), 6 deletions(-) diff --git a/arch/sh/kernel/cf-enabler.c b/arch/sh/kernel/cf-enabler.c index 849a9e1..ebc73b8 100644 --- a/arch/sh/kernel/cf-enabler.c +++ b/arch/sh/kernel/cf-enabler.c @@ -12,6 +12,7 @@ #include linux/init.h #include linux/mm.h #include linux/vmalloc.h +#include linux/interrupt.h #include asm/io.h #include asm/irq.h @@ -149,6 +150,11 @@ static int __init cf_init_se(void) ctrl_outb(0x42, PA_MRSHPC_MW2 + 0x200); return 0; } +#else +static int __init cf_init_se(void) +{ + return -1; +} #endif int __init cf_init(void) diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index 8cd0490..fab2eb0 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c @@ -12,6 +12,7 @@ */ #include linux/init.h #include linux/io.h +#include linux/smp.h #include asm/processor.h #include asm/cache.h diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index dbebadd..283e142 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -10,6 +10,8 @@ * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ + +#include linux/err.h #include linux/cache.h #include linux/cpumask.h #include linux/delay.h diff --git a/include/asm-sh/cpu-sh4/freq.h b/include/asm-sh/cpu-sh4/freq.h index 86564e7..39f41fc 100644 --- a/include/asm-sh/cpu-sh4/freq.h +++ b/include/asm-sh/cpu-sh4/freq.h @@ -24,6 +24,9 @@ #define FRQMR1 0xffc80014 #else #define FRQCR 0xffc0 +#define FRQCR_PSTBY0x0200 +#define FRQCR_PLLEN0x0400 +#define FRQCR_CKOEN0x0800 #endif #define MIN_DIVISOR_NR 0 #define MAX_DIVISOR_NR 3 diff --git a/include/asm-sh/dma.h b/include/asm-sh/dma.h index faf3051..6034d4a 100644 --- a/include/asm-sh/dma.h +++ b/include/asm-sh/dma.h @@ -13,6 +13,7 @@ #include linux/spinlock.h #include linux/wait.h +#include linux/sched.h #include linux/sysdev.h #include asm/cpu/dma.h diff --git a/include/asm-sh/io.h b/include/asm-sh/io.h index a0e55b0..aa80930 100644 --- a/include/asm-sh/io.h +++ b/include/asm-sh/io.h @@ -116,13 +116,13 @@ void __raw_readsl(unsigned long addr, void *data, int longlen); * redefined by userlevel programs. */ #ifdef __readb -# define readb(a) ({ unsigned long r_ = __raw_readb(a); mb(); r_; }) +# define readb(a) ({ unsigned int r_ = __raw_readb(a); mb(); r_; }) #endif #ifdef __raw_readw -# define readw(a) ({ unsigned long r_ = __raw_readw(a); mb(); r_; }) +# define readw(a) ({ unsigned int r_ = __raw_readw(a); mb(); r_; }) #endif #ifdef __raw_readl -# define readl(a) ({ unsigned long r_ = __raw_readl(a); mb(); r_; }) +# define readl(a) ({ unsigned int r_ = __raw_readl(a); mb(); r_; }) #endif #ifdef __raw_writeb diff --git a/include/asm-sh/smp.h b/include/asm-sh/smp.h index 71ecddf..caa7b93 100644 --- a/include/asm-sh/smp.h +++ b/include/asm-sh/smp.h @@ -15,7 +15,7 @@ #ifdef CONFIG_SMP -#include asm/spinlock.h +#include linux/spinlock.h #include asm/atomic.h #include asm/current.h diff --git a/include/asm-sh/spinlock.h b/include/asm-sh/spinlock.h index 2586eef..92f6e20 100644 --- a/include/asm-sh/spinlock.h +++ b/include/asm-sh/spinlock.h @@ -11,6 +11,7 @@ #define __ASM_SH_SPINLOCK_H #include asm/atomic.h +#include asm/spinlock_types.h /* * Your basic SMP spinlocks, allowing only a single CPU anywhere @@ -42,7 +43,7 @@ static inline void __raw_spin_lock(raw_spinlock_t *lock) static inline void __raw_spin_unlock(raw_spinlock_t *lock) { - assert_spin_locked(lock); + //assert_spin_locked(lock); lock-lock = 0; } @@ -88,6 +89,11 @@ static inline void
sh: support older gcc's
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e1c20842044da32f771631049b7082dad63a9c5 Commit: 4e1c20842044da32f771631049b7082dad63a9c5 Parent: 66c5227ecd3041b0467a091ad81b8d312e572ea8 Author: Andrew Morton [EMAIL PROTECTED] AuthorDate: Thu May 31 13:48:57 2007 +0900 Committer: Paul Mundt [EMAIL PROTECTED] CommitDate: Thu May 31 13:48:57 2007 +0900 sh: support older gcc's Make my version of gcc happy. Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Paul Mundt [EMAIL PROTECTED] --- arch/sh/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 7b11224..883b03b 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -39,7 +39,7 @@ cflags-$(CONFIG_CPU_SH2A) := -m2a $(call cc-option,-m2a-nofpu,) cflags-$(CONFIG_CPU_SH3) := -m3 cflags-$(CONFIG_CPU_SH4) := -m4 \ $(call cc-option,-mno-implicit-fp,-m4-nofpu) -cflags-$(CONFIG_CPU_SH4A) := -m4a $(call cc-option,-m4a-nofpu,) +cflags-$(CONFIG_CPU_SH4A) := $(call cc-option,-m4a,) $(call cc-option,-m4a-nofpu,) cflags-$(CONFIG_CPU_BIG_ENDIAN)+= -mb cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] Add exception handler for diagnose 224
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c41d4e3e688e338418311f449a4c68f6cb8eabbb Commit: c41d4e3e688e338418311f449a4c68f6cb8eabbb Parent: 3f0a6766e0cc5a577805732e5adb50a585c58175 Author: Michael Holzheu [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:01 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:10 2007 +0200 [S390] Add exception handler for diagnose 224 To be able to run with the diagnose 224 switched off, a potential specification exception has to be handled. Signed-off-by: Michael Holzheu [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- arch/s390/hypfs/hypfs_diag.c | 17 ++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c index 2782cf9..b9a1ce1 100644 --- a/arch/s390/hypfs/hypfs_diag.c +++ b/arch/s390/hypfs/hypfs_diag.c @@ -481,9 +481,17 @@ out: /* Diagnose 224 functions */ -static void diag224(void *ptr) +static int diag224(void *ptr) { - asm volatile(diag %0,%1,0x224 : :d (0), d(ptr) : memory); + int rc = -ENOTSUPP; + + asm volatile( + diag%1,%2,0x224\n + 0: lhi %0,0x0\n + 1:\n + EX_TABLE(0b,1b) + : +d (rc) :d (0), d (ptr) : memory); + return rc; } static int diag224_get_name_table(void) @@ -492,7 +500,10 @@ static int diag224_get_name_table(void) diag224_cpu_names = kmalloc(PAGE_SIZE, GFP_KERNEL | GFP_DMA); if (!diag224_cpu_names) return -ENOMEM; - diag224(diag224_cpu_names); + if (diag224(diag224_cpu_names)) { + kfree(diag224_cpu_names); + return -ENOTSUPP; + } EBCASC(diag224_cpu_names + 16, (*diag224_cpu_names + 1) * 16); return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] dasd_eer: use mutex instead of semaphore
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3006d7c67139e5173cf58986c7b6e080a893e2ac Commit: 3006d7c67139e5173cf58986c7b6e080a893e2ac Parent: c41d4e3e688e338418311f449a4c68f6cb8eabbb Author: Christoph Hellwig [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:02 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:10 2007 +0200 [S390] dasd_eer: use mutex instead of semaphore Signed-off-by: Christoph Hellwig [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- drivers/s390/block/dasd_eer.c | 16 1 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/s390/block/dasd_eer.c b/drivers/s390/block/dasd_eer.c index a1dc8c4..0c081a6 100644 --- a/drivers/s390/block/dasd_eer.c +++ b/drivers/s390/block/dasd_eer.c @@ -14,9 +14,9 @@ #include linux/moduleparam.h #include linux/device.h #include linux/poll.h +#include linux/mutex.h #include asm/uaccess.h -#include asm/semaphore.h #include asm/atomic.h #include asm/ebcdic.h @@ -514,7 +514,7 @@ void dasd_eer_disable(struct dasd_device *device) * to transfer in a readbuffer, which is protected by the readbuffer_mutex. */ static char readbuffer[PAGE_SIZE]; -static DECLARE_MUTEX(readbuffer_mutex); +static DEFINE_MUTEX(readbuffer_mutex); static int dasd_eer_open(struct inode *inp, struct file *filp) { @@ -579,7 +579,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, struct eerbuffer *eerb; eerb = (struct eerbuffer *) filp-private_data; - if (down_interruptible(readbuffer_mutex)) + if (mutex_lock_interruptible(readbuffer_mutex)) return -ERESTARTSYS; spin_lock_irqsave(bufferlock, flags); @@ -588,7 +588,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, /* has been deleted */ eerb-residual = 0; spin_unlock_irqrestore(bufferlock, flags); - up(readbuffer_mutex); + mutex_unlock(readbuffer_mutex); return -EIO; } else if (eerb-residual 0) { /* OK we still have a second half of a record to deliver */ @@ -602,7 +602,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, if (!tc) { /* no data available */ spin_unlock_irqrestore(bufferlock, flags); - up(readbuffer_mutex); + mutex_unlock(readbuffer_mutex); if (filp-f_flags O_NONBLOCK) return -EAGAIN; rc = wait_event_interruptible( @@ -610,7 +610,7 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, eerb-head != eerb-tail); if (rc) return rc; - if (down_interruptible(readbuffer_mutex)) + if (mutex_lock_interruptible(readbuffer_mutex)) return -ERESTARTSYS; spin_lock_irqsave(bufferlock, flags); } @@ -626,11 +626,11 @@ static ssize_t dasd_eer_read(struct file *filp, char __user *buf, spin_unlock_irqrestore(bufferlock, flags); if (copy_to_user(buf, readbuffer, effective_count)) { - up(readbuffer_mutex); + mutex_unlock(readbuffer_mutex); return -EFAULT; } - up(readbuffer_mutex); + mutex_unlock(readbuffer_mutex); return effective_count; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] arch/s390/kernel/debug.c: use mutex instead of semaphore
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e11f0d04c6bc6bcf301bc60c060c4ac346e61885 Commit: e11f0d04c6bc6bcf301bc60c060c4ac346e61885 Parent: 3006d7c67139e5173cf58986c7b6e080a893e2ac Author: Christoph Hellwig [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:03 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:11 2007 +0200 [S390] arch/s390/kernel/debug.c: use mutex instead of semaphore Signed-off-by: Christoph Hellwig [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- arch/s390/kernel/debug.c | 22 +++--- 1 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index dca6eaf..1b2f5ce 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c @@ -163,7 +163,7 @@ unsigned int debug_feature_version = __DEBUG_FEATURE_VERSION; static debug_info_t *debug_area_first = NULL; static debug_info_t *debug_area_last = NULL; -static DECLARE_MUTEX(debug_lock); +static DEFINE_MUTEX(debug_mutex); static int initialized; @@ -576,7 +576,7 @@ debug_input(struct file *file, const char __user *user_buf, size_t length, int rc = 0; file_private_info_t *p_info; - down(debug_lock); + mutex_lock(debug_mutex); p_info = ((file_private_info_t *) file-private_data); if (p_info-view-input_proc) rc = p_info-view-input_proc(p_info-debug_info_org, @@ -584,7 +584,7 @@ debug_input(struct file *file, const char __user *user_buf, size_t length, length, offset); else rc = -EPERM; - up(debug_lock); + mutex_unlock(debug_mutex); return rc; /* number of input characters */ } @@ -602,7 +602,7 @@ debug_open(struct inode *inode, struct file *file) file_private_info_t *p_info; debug_info_t *debug_info, *debug_info_snapshot; - down(debug_lock); + mutex_lock(debug_mutex); debug_info = file-f_path.dentry-d_inode-i_private; /* find debug view */ for (i = 0; i DEBUG_MAX_VIEWS; i++) { @@ -653,7 +653,7 @@ found: file-private_data = p_info; debug_info_get(debug_info); out: - up(debug_lock); + mutex_unlock(debug_mutex); return rc; } @@ -688,7 +688,7 @@ debug_register (char *name, int pages_per_area, int nr_areas, int buf_size) if (!initialized) BUG(); - down(debug_lock); + mutex_lock(debug_mutex); /* create new debug_info */ @@ -702,7 +702,7 @@ out: if (!rc){ printk(KERN_ERR debug: debug_register failed for %s\n,name); } - up(debug_lock); + mutex_unlock(debug_mutex); return rc; } @@ -716,9 +716,9 @@ debug_unregister(debug_info_t * id) { if (!id) goto out; - down(debug_lock); + mutex_lock(debug_mutex); debug_info_put(id); - up(debug_lock); + mutex_unlock(debug_mutex); out: return; @@ -1054,11 +1054,11 @@ __init debug_init(void) int rc = 0; s390dbf_sysctl_header = register_sysctl_table(s390dbf_dir_table); - down(debug_lock); + mutex_lock(debug_mutex); debug_debugfs_root_entry = debugfs_create_dir(DEBUG_DIR_ROOT,NULL); printk(KERN_INFO debug: Initialization complete\n); initialized = 1; - up(debug_lock); + mutex_unlock(debug_mutex); return rc; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] raw3270: use mutex instead of semaphore
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d330f93595a4eb100118c8af50012d6b0dc559e3 Commit: d330f93595a4eb100118c8af50012d6b0dc559e3 Parent: e11f0d04c6bc6bcf301bc60c060c4ac346e61885 Author: Christoph Hellwig [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:04 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:11 2007 +0200 [S390] raw3270: use mutex instead of semaphore Signed-off-by: Christoph Hellwig [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- drivers/s390/char/raw3270.c | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c index f6ef90e..743944a 100644 --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c @@ -487,7 +487,7 @@ struct raw3270_ua { /* Query Reply structure for Usable Area */ } __attribute__ ((packed)); static struct diag210 raw3270_init_diag210; -static DECLARE_MUTEX(raw3270_init_sem); +static DEFINE_MUTEX(raw3270_init_mutex); static int raw3270_init_irq(struct raw3270_view *view, struct raw3270_request *rq, @@ -713,7 +713,7 @@ raw3270_size_device(struct raw3270 *rp) { int rc; - down(raw3270_init_sem); + mutex_lock(raw3270_init_mutex); rp-view = raw3270_init_view; raw3270_init_view.dev = rp; if (MACHINE_IS_VM) @@ -722,7 +722,7 @@ raw3270_size_device(struct raw3270 *rp) rc = __raw3270_size_device(rp); raw3270_init_view.dev = NULL; rp-view = NULL; - up(raw3270_init_sem); + mutex_unlock(raw3270_init_mutex); if (rc == 0) { /* Found something. */ /* Try to find a model. */ rp-model = 0; @@ -749,7 +749,7 @@ raw3270_reset_device(struct raw3270 *rp) { int rc; - down(raw3270_init_sem); + mutex_lock(raw3270_init_mutex); memset(rp-init_request, 0, sizeof(rp-init_request)); memset(rp-init_data, 0, sizeof(rp-init_data)); /* Store reset data stream to init_data/init_request */ @@ -764,7 +764,7 @@ raw3270_reset_device(struct raw3270 *rp) rc = raw3270_start_init(rp, raw3270_init_view, rp-init_request); raw3270_init_view.dev = NULL; rp-view = NULL; - up(raw3270_init_sem); + mutex_unlock(raw3270_init_mutex); return rc; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] Fix section annotations.
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea1f4eece943968940a399c72c1ca675d51e466e Commit: ea1f4eece943968940a399c72c1ca675d51e466e Parent: d330f93595a4eb100118c8af50012d6b0dc559e3 Author: Heiko Carstens [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:05 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:11 2007 +0200 [S390] Fix section annotations. Use the __cpuinit instead of __devinit section annotations for code that deals with cpu hotplug. In addition add some more annotations on functions that have been left out so far. Signed-off-by: Heiko Carstens [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- arch/s390/kernel/setup.c |4 ++-- arch/s390/kernel/smp.c |6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 6bfb088..51d6309 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -102,7 +102,7 @@ static struct resource data_resource = { /* * cpu_init() initializes state that is per-CPU. */ -void __devinit cpu_init (void) +void __cpuinit cpu_init(void) { int addr = hard_smp_processor_id(); @@ -915,7 +915,7 @@ setup_arch(char **cmdline_p) setup_zfcpdump(console_devno); } -void print_cpu_info(struct cpuinfo_S390 *cpuinfo) +void __cpuinit print_cpu_info(struct cpuinfo_S390 *cpuinfo) { printk(cpu %d #ifdef CONFIG_SMP diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 09f028a..8ff2fea 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -492,7 +492,7 @@ static unsigned int __init smp_count_cpus(void) /* * Activate a secondary processor. */ -int __devinit start_secondary(void *cpuvoid) +int __cpuinit start_secondary(void *cpuvoid) { /* Setup the cpu */ cpu_init(); @@ -741,7 +741,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) smp_create_idle(cpu); } -void __devinit smp_prepare_boot_cpu(void) +void __init smp_prepare_boot_cpu(void) { BUG_ON(smp_processor_id() != 0); @@ -750,7 +750,7 @@ void __devinit smp_prepare_boot_cpu(void) current_set[0] = current; } -void smp_cpus_done(unsigned int max_cpus) +void __init smp_cpus_done(unsigned int max_cpus) { cpu_present_map = cpu_possible_map; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[S390] cio: deregister ccw device when pgid disband failed
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ecb0a5a7b567c9719d61938bcdba22938084b65 Commit: 3ecb0a5a7b567c9719d61938bcdba22938084b65 Parent: 59a8a6e227cf0bc42e5be741ebfea97c222ab9ef Author: Peter Oberparleiter [EMAIL PROTECTED] AuthorDate: Thu May 31 17:38:07 2007 +0200 Committer: Martin Schwidefsky [EMAIL PROTECTED] CommitDate: Thu May 31 17:38:14 2007 +0200 [S390] cio: deregister ccw device when pgid disband failed Deregister ccw device when device failure is detected during offline- processing (e.g. when no last-path-gone indication was presented by the hardware) to prevent the device from entering a non-recoverable not-operational state. Signed-off-by: Peter Oberparleiter [EMAIL PROTECTED] Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED] --- drivers/s390/cio/device_fsm.c |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index 898ec3b..6bba809 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c @@ -688,6 +688,12 @@ ccw_device_disband_done(struct ccw_device *cdev, int err) ccw_device_done(cdev, DEV_STATE_BOXED); break; default: + cdev-private-flags.donotify = 0; + if (get_device(cdev-dev)) { + PREPARE_WORK(cdev-private-kick_work, +ccw_device_call_sch_unregister); + queue_work(ccw_device_work, cdev-private-kick_work); + } ccw_device_done(cdev, DEV_STATE_NOT_OPER); break; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
sparc64: fix alignment bug in linker definition script
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4096b46f01a362fe2cc83f6be25cc7be6bce2ab7 Commit: 4096b46f01a362fe2cc83f6be25cc7be6bce2ab7 Parent: c420bc9f09a0926b708c3edb27eacba434a4f4ba Author: Sam Ravnborg [EMAIL PROTECTED] AuthorDate: Tue May 29 21:29:00 2007 +0200 Committer: Sam Ravnborg [EMAIL PROTECTED] CommitDate: Tue May 29 21:29:00 2007 +0200 sparc64: fix alignment bug in linker definition script The RO_DATA section were hardcoded to a specific alignment in include/asm-generic/vmlinux.h. But for sparc64 this did not match the PAGE_SIZE. Introduce a new section definition named: RO_DATA that takes actual alignment as parameter. RODATA are provided for backward compatibility. On top of this avoid hardcoding alignment for sparc64 in reset of the script Fix is build-tested on sparc64 + x86_64. Signed-off-by: Sam Ravnborg [EMAIL PROTECTED] --- arch/sparc64/kernel/vmlinux.lds.S | 11 ++- include/asm-generic/vmlinux.lds.h | 10 +++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/arch/sparc64/kernel/vmlinux.lds.S b/arch/sparc64/kernel/vmlinux.lds.S index fb648de..3ad10f3 100644 --- a/arch/sparc64/kernel/vmlinux.lds.S +++ b/arch/sparc64/kernel/vmlinux.lds.S @@ -1,5 +1,6 @@ /* ld script to make UltraLinux kernel */ +#include asm/page.h #include asm-generic/vmlinux.lds.h OUTPUT_FORMAT(elf64-sparc, elf64-sparc, elf64-sparc) @@ -23,7 +24,7 @@ SECTIONS _etext = .; PROVIDE (etext = .); - RODATA + RO_DATA(PAGE_SIZE) .data: { @@ -44,7 +45,7 @@ SECTIONS __ex_table : { *(__ex_table) } __stop___ex_table = .; - . = ALIGN(8192); + . = ALIGN(PAGE_SIZE); __init_begin = .; .init.text : { _sinittext = .; @@ -83,17 +84,17 @@ SECTIONS __sun4v_2insn_patch_end = .; #ifdef CONFIG_BLK_DEV_INITRD - . = ALIGN(8192); + . = ALIGN(PAGE_SIZE); __initramfs_start = .; .init.ramfs : { *(.init.ramfs) } __initramfs_end = .; #endif - . = ALIGN(8192); + . = ALIGN(PAGE_SIZE); __per_cpu_start = .; .data.percpu : { *(.data.percpu) } __per_cpu_end = .; - . = ALIGN(8192); + . = ALIGN(PAGE_SIZE); __init_end = .; __bss_start = .; .sbss : { *(.sbss) *(.scommon) } diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 8307b1b..84155eb 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -14,8 +14,8 @@ *(.data)\ *(.data.init.refok) -#define RODATA \ - . = ALIGN(4096);\ +#define RO_DATA(align) \ + . = ALIGN((align)); \ .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ VMLINUX_SYMBOL(__start_rodata) = .; \ *(.rodata) *(.rodata.*) \ @@ -135,7 +135,11 @@ VMLINUX_SYMBOL(__end_rodata) = .; \ } \ \ - . = ALIGN(4096); + . = ALIGN((align)); + +/* RODATA provided for backward compatibility. + * All archs are supposed to use RO_DATA() */ +#define RODATA RO_DATA(4096) #define SECURITY_INIT \ .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \ - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
PCI: quirk disable MSI on via vt3351
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=184b812f7da6726d7ea4ca409c7a8762ff6c6df6 Commit: 184b812f7da6726d7ea4ca409c7a8762ff6c6df6 Parent: 73a74ed3a6f8fcb817fdffa2c2718f96d0108b7f Author: Jay Cliburn [EMAIL PROTECTED] AuthorDate: Sat May 26 17:01:04 2007 -0500 Committer: Greg Kroah-Hartman [EMAIL PROTECTED] CommitDate: Thu May 31 16:56:37 2007 -0700 PCI: quirk disable MSI on via vt3351 The Via VT3351 APIC does not play well with MSI and unleashes a flood of APIC errors when MSI is used to deliver interrupts. The problem was recently exposed when the atl1 network device driver, which enables MSI by default, stimulated APIC errors on an Asus M2V mainboard, which employs the Via VT3351. See http://bugzilla.kernel.org/show_bug.cgi?id=8472 for additional details on this bug. Signed-off-by: Jay Cliburn [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- drivers/pci/quirks.c|1 + include/linux/pci_ids.h |1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 4937982..01d8f8a 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1640,6 +1640,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT3351, quirk_disable_all_msi); /* Disable MSI on chipsets that are known to not support it */ static void __devinit quirk_disable_msi(struct pci_dev *dev) diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index c4a14c6..02cf0cd 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1292,6 +1292,7 @@ #define PCI_DEVICE_ID_VIA_P4M890 0x0327 #define PCI_DEVICE_ID_VIA_VT3324 0x0324 #define PCI_DEVICE_ID_VIA_VT3336 0x0336 +#define PCI_DEVICE_ID_VIA_VT3351 0x0351 #define PCI_DEVICE_ID_VIA_8371_0 0x0391 #define PCI_DEVICE_ID_VIA_8501_0 0x0501 #define PCI_DEVICE_ID_VIA_82C561 0x0561 - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
msi: fix ARM compile
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4fdadebc313f46a750e9ffca9c68c35c587ced9f Commit: 4fdadebc313f46a750e9ffca9c68c35c587ced9f Parent: 54ca4123363f388ab724fc66da92b87dc05395c3 Author: Dan Williams [EMAIL PROTECTED] AuthorDate: Thu Apr 26 18:21:38 2007 -0700 Committer: Greg Kroah-Hartman [EMAIL PROTECTED] CommitDate: Thu May 31 16:56:36 2007 -0700 msi: fix ARM compile In file included from drivers/pci/msi.c:22: include/asm/smp.h:17:26: asm/arch/smp.h: No such file or directory include/asm/smp.h:20:3: #error asm-arm/smp.h included in non-SMP build include/asm/smp.h:23:1: warning: raw_smp_processor_id redefined In file included from include/linux/sched.h:65, from include/linux/mm.h:4, from drivers/pci/msi.c:10: include/linux/smp.h:85:1: warning: this is the location of the previous definition Tested on powerpc, i386, and x86_64. Signed-off-by: Dan Williams [EMAIL PROTECTED] Acked-by: Eric W. Biederman [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- drivers/pci/msi.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index d9cbd58..f7f7470 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -15,10 +15,10 @@ #include linux/pci.h #include linux/proc_fs.h #include linux/msi.h +#include linux/smp.h #include asm/errno.h #include asm/io.h -#include asm/smp.h #include pci.h #include msi.h - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
PCI: disable MSI by default on systems with Serverworks HT1000 chips
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3008dedff4bdc96a5f67224cd3d8d12237082a0 Commit: e3008dedff4bdc96a5f67224cd3d8d12237082a0 Parent: 4fdadebc313f46a750e9ffca9c68c35c587ced9f Author: Andy Gospodarek [EMAIL PROTECTED] AuthorDate: Thu May 10 22:58:57 2007 -0700 Committer: Greg Kroah-Hartman [EMAIL PROTECTED] CommitDate: Thu May 31 16:56:36 2007 -0700 PCI: disable MSI by default on systems with Serverworks HT1000 chips I've been seeing lots of messages like these: eth0: No interrupt was generated using MSI, switching to INTx mode. Please report this failure to the PCI maintainer and include system chipset information. On several systems that use the following Severworks HT1000 (also sometimes labeled as a Broadcom chipset as well) bridge chips. It doesn't appear MSI works well (if at all) on these systems. Signed-off-by: Andy Gospodarek [EMAIL PROTECTED] Cc: Eric W. Biederman [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- drivers/pci/quirks.c|1 + include/linux/pci_ids.h |1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 1cff65f..4937982 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1637,6 +1637,7 @@ static void __init quirk_disable_all_msi(struct pci_dev *dev) printk(KERN_WARNING PCI: MSI quirk detected. MSI deactivated.\n); } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_disable_all_msi); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_all_msi); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_all_msi); diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 4712e26..c4a14c6 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1437,6 +1437,7 @@ #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 #define PCI_DEVICE_ID_SERVERWORKS_EPB0x0103 +#define PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX 0x0104 #define PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE 0x0132 #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
PCI: Fix pci_find_present
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c92c57af9a24a08b8d2f76650b1209239914fcd Commit: 3c92c57af9a24a08b8d2f76650b1209239914fcd Parent: e3008dedff4bdc96a5f67224cd3d8d12237082a0 Author: Ben Gardner [EMAIL PROTECTED] AuthorDate: Thu May 10 22:58:58 2007 -0700 Committer: Greg Kroah-Hartman [EMAIL PROTECTED] CommitDate: Thu May 31 16:56:37 2007 -0700 PCI: Fix pci_find_present pci_find_present() is only matching the last item in the list of ids. The break after the match is found only escapes the for loop, not the while loop, so found gets reset to NULL on the next pass. Signed-off-by: Ben Gardner [EMAIL PROTECTED] Cc: Alan Cox [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED] --- drivers/pci/search.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/pci/search.c b/drivers/pci/search.c index b137a27..c132324 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c @@ -403,10 +403,11 @@ const struct pci_device_id *pci_find_present(const struct pci_device_id *ids) while (ids-vendor || ids-subvendor || ids-class_mask) { list_for_each_entry(dev, pci_devices, global_list) { if ((found = pci_match_one_device(ids, dev)) != NULL) - break; + goto exit; } ids++; } +exit: up_read(pci_bus_sem); return found; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html