neofb: Fix pseudo_palette array overrun in neofb_setcolreg

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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()

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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).

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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[]

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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.

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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

2007-05-31 Thread Linux Kernel Mailing List
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