]> err.no Git - linux-2.6/log
linux-2.6
17 years agoMerge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
Paul Mackerras [Thu, 8 Nov 2007 03:28:14 +0000 (14:28 +1100)]
Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge

17 years ago[POWERPC] EEH: Make sure warning message is printed
Linas Vepstas [Wed, 7 Nov 2007 20:03:53 +0000 (07:03 +1100)]
[POWERPC] EEH: Make sure warning message is printed

Fix old buglet; a warning message should have been printed
when a hardware reset takes too long.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC
Johannes Berg [Wed, 7 Nov 2007 12:59:44 +0000 (23:59 +1100)]
[POWERPC] Make altivec code in swsusp_32.S depend on CONFIG_ALTIVEC

This makes the altivec code in swsusp_32.S depend on CONFIG_ALTIVEC to
avoid build failures for systems that don't have altivec. I'm not sure
whether the code will actually work for other systems, but it was merged
for just ppc32 rather than powermac a very long time ago.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] windfarm: Fix windfarm thread freezer interaction
Johannes Berg [Wed, 7 Nov 2007 10:18:02 +0000 (21:18 +1100)]
[POWERPC] windfarm: Fix windfarm thread freezer interaction

When I fixed the windfarm freezer interaction first in commit
1ed2ddf380e19dafeec2150ca709ef7f4a67cd21, an earlier patch than the one
I came up with after comments was committed. This has come back to haunt
us now because commit d5d8c5976d6adeddb8208c240460411e2198b393 changed
the freezer to no long send signals. Fix it by removing the windfarm
thread's signal logic and restoring the original try_to_freeze().

We could simply revert 1ed2ddf380e19dafeec2150ca709ef7f4a67cd21 now
but I feel that the assertion that no signal is delivered to the
windfarm thread needs not be there.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix si_addr value on low level hash failures
Benjamin Herrenschmidt [Wed, 7 Nov 2007 06:17:02 +0000 (17:17 +1100)]
[POWERPC] Fix si_addr value on low level hash failures

If the low level MMU hash table insertion returns an error (which
can happen in some rare circumstances when the hypervisor refuses
the insertion of a PTE, typically if you try to access junk via
/dev/mem), the generated signal had an incorrect si_addr value due
to a bug in the assembly, which was loading it as a 32 bits quantity
instead of a 64 bits quantity.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Refresh ppc64_defconfig and enable pasemi-related options
Olof Johansson [Wed, 7 Nov 2007 05:53:58 +0000 (16:53 +1100)]
[POWERPC] Refresh ppc64_defconfig and enable pasemi-related options

Refresh ppc64_defconfig, add PPC_PASEMI and various options that the
common boards there need:

* Chip drivers (iommu, ethernet, IDE, CF, EDAC, MDIO/PHY)
* PCMCIA
* PATA_PCMCIA
* RTC_CLASS
* SATA_MV
* SATA_SIL24
* IP_PNP + NFS_ROOT for diskless booting

+ possibly some other things I might have missed to list

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] pasemi: Update defconfig
Olof Johansson [Wed, 7 Nov 2007 05:48:35 +0000 (16:48 +1100)]
[POWERPC] pasemi: Update defconfig

Update pasemi_defconfig.  Add a few missing options for default devices
on electra boards, enable tickless and hrtimers, etc, etc.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] iSeries: Fix ref counting in vio setup
Stephen Rothwell [Tue, 6 Nov 2007 06:26:42 +0000 (17:26 +1100)]
[POWERPC] iSeries: Fix ref counting in vio setup

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] ] Fix memset size error
Li Zefan [Mon, 5 Nov 2007 02:21:56 +0000 (13:21 +1100)]
[POWERPC] ] Fix memset size error

The size passing to memset is wrong.

Signed-off-by Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix link errors for allyesconfig
Stephen Rothwell [Sun, 4 Nov 2007 02:28:39 +0000 (13:28 +1100)]
[POWERPC] Fix link errors for allyesconfig

An allyesconfig build creates a .text section that is so big that the
.text.init.refok and .fixup sections are too far away for the relocations
to be fixed up correctly. This patch fixes that by linking all the
relevent text sections for each file together.

Suggested by Paul Mackerras.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] iSeries_init_IRQ non-PCI tidy
Stephen Rothwell [Sun, 4 Nov 2007 02:22:46 +0000 (13:22 +1100)]
[POWERPC] iSeries_init_IRQ non-PCI tidy

ppc_md.init_IRQ is not called if it is NULL, so we don't need an empty
routine in the non PCI case.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Change fallocate to match unistd.h on powerpc
Patrick Mansfield [Sat, 3 Nov 2007 17:42:03 +0000 (04:42 +1100)]
[POWERPC] Change fallocate to match unistd.h on powerpc

Fix the fallocate system call on powerpc to match its unistd.h.

This implies none of these system calls are currently working with the
unistd.h sys call values:
fallocate
signalfd
timerfd
eventfd
sync_file_range2

Signed-off-by: Patrick Mansfield <patmans@us.ibm.com>
Acked-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] EEH: Avoid crash on null device
Linas Vepstas [Fri, 2 Nov 2007 20:29:01 +0000 (07:29 +1100)]
[POWERPC] EEH: Avoid crash on null device

Bugfix: avoid crash if there's no PCI device for a given
openfirmware node.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] EEH: Drivers that need reset trump others
Linas Vepstas [Fri, 2 Nov 2007 20:27:50 +0000 (07:27 +1100)]
[POWERPC] EEH: Drivers that need reset trump others

Bugfix: if a driver controlling one part of a multi-function PCI card
has asked for a reset, honor that request above all others.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] EEH: Clean up comments
Linas Vepstas [Fri, 2 Nov 2007 20:25:55 +0000 (07:25 +1100)]
[POWERPC] EEH: Clean up comments

Clean up commentary, remove dead code.

Signed-off-by Linas Vepstas <linas@austin.ibm.com>

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
Paul Mackerras [Wed, 31 Oct 2007 11:25:35 +0000 (22:25 +1100)]
[POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)

The decrementer in Book E and 4xx processors interrupts on the
transition from 1 to 0, rather than on the 0 to -1 transition as on
64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors.  At the
moment we subtract 1 from the count of how many decrementer ticks are
required before the next interrupt before putting it into the
decrementer, which is correct for server/classic processors, but could
possibly cause the interrupt to happen too early on Book E and 4xx if
the timebase/decrementer frequency is low.

This fixes the problem by making set_dec subtract 1 from the count for
server and classic processors, instead of having the callers subtract
1.  Since set_dec already had a bunch of ifdefs to handle different
processor types, there is no net increase in ugliness. :)

Note that calling set_dec(0) may not generate an interrupt on some
processors.  To make sure that decrementer_set_next_event always calls
set_dec with an interval of at least 1 tick, we set min_delta_ns of
the decrementer_clockevent to correspond to 2 ticks (2 rather than 1
to compensate for truncations in the conversions between ticks and
ns).

This also removes a redundant call to set the decrementer to
0x7fffffff - it was already set to that earlier in timer_interrupt.

Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix switch_slb handling of 1T ESID values
will schmidt [Tue, 30 Oct 2007 18:59:33 +0000 (05:59 +1100)]
[POWERPC] Fix switch_slb handling of 1T ESID values

Now that we have 1TB segment size support, we need to be using the
GET_ESID_1T macro when comparing ESID values for pc, stack, and
unmapped_base within switch_slb().   A new helper function called
esids_match() contains the logic for deciding when to call GET_ESID
and GET_ESID_1T.

This fixes a duplicate-slb-entry inspired machine-check exception I
was seeing when trying to run java on a power6 partition.

Tested on power6 and power5.

Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined
Tony Breeds [Tue, 30 Oct 2007 03:55:04 +0000 (14:55 +1100)]
[POWERPC] Fix build failure when CONFIG_VIRT_CPU_ACCOUNTING is not defined

Without this patch I get the following build failure
  CC      arch/powerpc/platforms/celleb/setup.o
arch/powerpc/platforms/celleb/setup.c:151: error: 'generic_calibrate_decr' undeclared here (not in a function)

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Include udbg.h when using udbg_printf
will schmidt [Mon, 29 Oct 2007 19:24:19 +0000 (06:24 +1100)]
[POWERPC] Include udbg.h when using udbg_printf

This fixes the error
error: implicit declaration of function "udbg_printf"

We have a few spots where we reference udbg_printf() without #including
udbg.h.  These are within #ifdef DEBUG blocks, so unnoticed until we do
a #define DEBUG or #define DEBUG_LOW nearby.

Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix cache line vs. block size confusion
Benjamin Herrenschmidt [Sat, 27 Oct 2007 21:49:28 +0000 (08:49 +1100)]
[POWERPC] Fix cache line vs. block size confusion

We had an historical confusion in the kernel between cache line
and cache block size. The former is an implementation detail of
the L1 cache which can be useful for performance optimisations,
the later is the actual size on which the cache control
instructions operate, which can be different.

For some reason, we had a weird hack reading the right property
on powermac and the wrong one on any other 64 bits (32 bits is
unaffected as it only uses the cputable for cache block size
infos at this stage).

This fixes the booting-without-of.txt documentation to mention
the right properties, and fixes the 64 bits initialization code
to look for the block size first, with a fallback to the line
size if the property is missing.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix sysctl table check failure on PowerMac
Alexey Dobriyan [Sat, 27 Oct 2007 18:34:53 +0000 (05:34 +1100)]
[POWERPC] Fix sysctl table check failure on PowerMac

kernel was marked with 0755. Everywhere else it's 0555.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix CONFIG_SMP=n build break
Olof Johansson [Sat, 27 Oct 2007 17:28:51 +0000 (04:28 +1100)]
[POWERPC] Fix CONFIG_SMP=n build break

Fix two build errors on powerpc allyesconfig + CONFIG_SMP=n:

arch/powerpc/platforms/built-in.o: In function `cpu_affinity_set':
arch/powerpc/platforms/cell/spu_priv1_mmio.c:78: undefined reference to `.iic_get_target_id'
arch/powerpc/platforms/built-in.o: In function `iic_init_IRQ':
arch/powerpc/platforms/cell/interrupt.c:397: undefined reference to `.iic_setup_cpu'

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] bootwrapper: Revert ps3 binary flag usage, and remove .bin suffix
Scott Wood [Wed, 24 Oct 2007 16:56:28 +0000 (02:56 +1000)]
[POWERPC] bootwrapper: Revert ps3 binary flag usage, and remove .bin suffix

The ps3 target produces two images, and the binary one is not the
"primary" image that corresponds to the -o flag; thus, it no longer
uses the generic binary flag.

On platforms which do use the binary flag, it no longer produces a
.bin suffix, so that the output file matches what was passed to the -o flag.

This should fix the zImage ln problems for the ps3 target.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix mv643xx_pci sysfs .read and .write functions
Dale Farnsworth [Tue, 23 Oct 2007 19:20:32 +0000 (05:20 +1000)]
[POWERPC] Fix mv643xx_pci sysfs .read and .write functions

Commit 91a69029 introduced an additional parameter to the .read and .write
methods for sysfs binary attributes.  Two mv64x60_pci functions
were missed in that patch, resulting in these errors:
/cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:77: warning: initialization from incompatible pointer type
/cache/git/linux-2.6/arch/powerpc/sysdev/mv64x60_pci.c:78: warning: initialization from incompatible pointer type

Add the missing "struct bin_attribute *" parameter.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] i8259: Add disable method
Aurelien Jarno [Tue, 23 Oct 2007 13:06:38 +0000 (23:06 +1000)]
[POWERPC] i8259: Add disable method

Since commit 76d2160147f43f982dfe881404cfde9fd0a9da21, the NE2000 card
is not working anymore on PPC and POWERPC and produces WATCHDOG
timeouts.

The patch below fixes that the same way it has been done on x86, x86_64
and MIPS.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Read back MSI message in rtas_setup_msi_irqs() so restore works
Michael Ellerman [Tue, 23 Oct 2007 04:23:44 +0000 (14:23 +1000)]
[POWERPC] Read back MSI message in rtas_setup_msi_irqs() so restore works

There are plans afoot to use pci_restore_msi_state() to restore MSI
state after a device reset.  In order for this to work for the RTAS MSI
backend, we need to read back the MSI message from config space after
it has been setup by firmware.

This should be sufficient for restoring the MSI state after a device
reset, however we will need to revisit this for suspend to disk if that
is ever implemented on pseries.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix build break in arch/ppc/syslib/m8260_setup.c
Olof Johansson [Sat, 20 Oct 2007 03:39:26 +0000 (13:39 +1000)]
[POWERPC] Fix build break in arch/ppc/syslib/m8260_setup.c

Fix build break and warnings in current mainline git:

arch/ppc/syslib/m8260_setup.c: In function 'm8260_setup_arch':
arch/ppc/syslib/m8260_setup.c:63: error: implicit declaration of function 'identify_ppc_sys_by_name_and_id'
arch/ppc/syslib/m8260_setup.c:64: warning: passing argument 1 of 'in_be32' makes pointer from integer without a cast
arch/ppc/syslib/m8260_setup.c: In function 'm8260_show_cpuinfo':
arch/ppc/syslib/m8260_setup.c:158: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%d' expects type 'int', but argument 6 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 8 has type 'long unsigned int'
arch/ppc/syslib/m8260_setup.c:158: warning: format '%u' expects type 'unsigned int', but argument 9 has type 'long unsigned int'
make[1]: *** [arch/ppc/syslib/m8260_setup.o] Error 1
make[1]: *** Waiting for unfinished jobs....

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'linux-2.6' into merge
Paul Mackerras [Fri, 2 Nov 2007 03:03:14 +0000 (14:03 +1100)]
Merge branch 'linux-2.6' into merge

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 1 Nov 2007 19:09:33 +0000 (12:09 -0700)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IRDA] IRNET: Fix build when TCGETS2 is defined.
  [NET]: docbook fixes for netif_ functions
  [NET]: Hide the net_ns kmem cache
  [NET]: Mark the setup_net as __net_init
  [NET]: Hide the dead code in the net_namespace.c
  [NET]: Relax the reference counting of init_net_ns
  [NETNS]: Make the init/exit hooks checks outside the loop
  [NET]: Forget the zero_it argument of sk_alloc()
  [NET]: Remove bogus zero_it argument from sk_alloc
  [NET]: Make the sk_clone() lighter
  [NET]: Move some core sock setup into sk_prot_alloc
  [NET]: Auto-zero the allocated sock object
  [NET]: Cleanup the allocation/freeing of the sock object
  [NET]: Move the get_net() from sock_copy()
  [NET]: Move the sock_copy() from the header
  [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
  [TCP]: Process DSACKs that reside within a SACK block

17 years ago[POWERPC] 4xx: Fix Walnut DTS interrupt property
Steven A. Falco [Wed, 31 Oct 2007 17:52:53 +0000 (04:52 +1100)]
[POWERPC] 4xx: Fix Walnut DTS interrupt property

Re-order the EMAC interrupts in the walnut.dts file so that they are mapped
correctly.

Signed-off-by: Steve Falco <sfalco at harris.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M
Grant Likely [Wed, 31 Oct 2007 06:41:20 +0000 (17:41 +1100)]
[POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M

mmu_mapin_ram() loops over total_lowmem to setup page tables.  However, if
total_lowmem is less that 16M, the subtraction rolls over and results in
a number just under 4G (because total_lowmem is an unsigned value).

This patch rejigs the loop from countup to countdown to eliminate the
bug.

Special thanks to Magnus Hjorth who wrote the original patch to fix this
bug.  This patch improves on his by making the loop code simpler (which
also eliminates the possibility of another rollover at the high end)
and also applies the change to arch/powerpc.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] 4xx: Deal with 44x virtually tagged icache
Benjamin Herrenschmidt [Wed, 31 Oct 2007 05:42:19 +0000 (16:42 +1100)]
[POWERPC] 4xx: Deal with 44x virtually tagged icache

The 44x family has an interesting "feature" which is a virtually
tagged instruction cache (yuck !). So far, we haven't dealt with
it properly, which means we've been mostly lucky or people didn't
report the problems, unless people have been running custom patches
in their distro...

This is an attempt at fixing it properly. I chose to do it by
setting a global flag whenever we change a PTE that was previously
marked executable, and flush the entire instruction cache upon
return to user space when that happens.

This is a bit heavy handed, but it's hard to do more fine grained
flushes as the icbi instruction, on those processor, for some very
strange reasons (since the cache is virtually mapped) still requires
a valid TLB entry for reading in the target address space, which
isn't something I want to deal with.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] 4xx: Fix 4xx flush_tlb_page()
Benjamin Herrenschmidt [Mon, 29 Oct 2007 22:46:06 +0000 (09:46 +1100)]
[POWERPC] 4xx: Fix 4xx flush_tlb_page()

On 4xx CPUs, the current implementation of flush_tlb_page() uses
a low level _tlbie() assembly function that only works for the
current PID. Thus, invalidations caused by, for example, a COW
fault triggered by get_user_pages() from a different context will
not work properly, causing among other things, gdb breakpoints
to fail.

This patch adds a "pid" argument to _tlbie() on 4xx processors,
and uses it to flush entries in the right context. FSL BookE
also gets the argument but it seems they don't need it (their
tlbivax form ignores the PID when invalidating according to the
document I have).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] allocation fix in ppc/platforms/4xx/luan.c
Roel Kluin [Sat, 27 Oct 2007 14:22:13 +0000 (00:22 +1000)]
[POWERPC] allocation fix in ppc/platforms/4xx/luan.c

Don't allocate hose2 when when hose1 can't be allocated and free hose1 when
hose2 can't be allocated.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue.
Valentine Barshak [Thu, 25 Oct 2007 18:16:40 +0000 (04:16 +1000)]
[POWERPC] 4xx: Workaround for the 440EP(x)/GR(x) processors identical PVR issue.

PowerPC 440EP(x) 440GR(x) processors have the same PVR values, since
they have identical cores. However, FPU is not supported on GR(x) and
enabling APU instruction broadcast in the CCR0 register (to enable FPU)
may cause unpredictable results. There's no safe way to detect FPU
support at runtime. This patch provides a workarund for the issue.

We use a POWER6 "logical PVR approach". First, we identify all EP(x)
and GR(x) processors as GR(x) ones (which is safe). Then we check
the device tree cpu path. If we have a EP(x) processor entry,
we call identify_cpu again with PVR | 0x8. This bit is always 0
in the real PVR. This way we enable FPU only for 440EP(x).

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] Uartlite: speed up console output
Grant Likely [Tue, 23 Oct 2007 04:27:46 +0000 (14:27 +1000)]
[POWERPC] Uartlite: speed up console output

Change the wait_tx routine to call cpu_relax() instead of udelay() to
reduce console output latency and test for the TXFULL bit instead of
TXEMPTY.  That way the FIFO doesn't need to by 100% flushed before
writing the next character.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] Device tree bindings for Xilinx devices
Grant Likely [Tue, 23 Oct 2007 04:27:41 +0000 (14:27 +1000)]
[POWERPC] Device tree bindings for Xilinx devices

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] bootwrapper: Bail from script if any command fails
Grant Likely [Tue, 23 Oct 2007 04:27:36 +0000 (14:27 +1000)]
[POWERPC] bootwrapper: Bail from script if any command fails

Add the 'set -e' command to the wrapper script so that if any command
fails then the script will automatically exit

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[POWERPC] bootwrapper: Allow wrapper script to execute verbosely
Grant Likely [Tue, 23 Oct 2007 04:27:31 +0000 (14:27 +1000)]
[POWERPC] bootwrapper: Allow wrapper script to execute verbosely

Allow wrapper script to print verbose progress when the V is set in the
environment.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
17 years ago[SPARC64]: Update defconfig.
David S. Miller [Thu, 1 Nov 2007 10:18:02 +0000 (03:18 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IRDA] IRNET: Fix build when TCGETS2 is defined.
David S. Miller [Thu, 1 Nov 2007 09:26:38 +0000 (02:26 -0700)]
[IRDA] IRNET: Fix build when TCGETS2 is defined.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: docbook fixes for netif_ functions
Stephen Hemminger [Thu, 1 Nov 2007 09:21:47 +0000 (02:21 -0700)]
[NET]: docbook fixes for netif_ functions

Documentation updates for network interfaces.

1. Add doc for netif_napi_add
2. Remove doc for unused returns from netif_rx
3. Add doc for netif_receive_skb

[ Incorporated minor mods from Randy Dunlap -DaveM ]

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Hide the net_ns kmem cache
Pavel Emelyanov [Thu, 1 Nov 2007 07:46:50 +0000 (00:46 -0700)]
[NET]: Hide the net_ns kmem cache

This cache is only required to create new namespaces,
but we won't have them in CONFIG_NET_NS=n case.

Hide it under the appropriate ifdef.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Mark the setup_net as __net_init
Pavel Emelyanov [Thu, 1 Nov 2007 07:45:59 +0000 (00:45 -0700)]
[NET]: Mark the setup_net as __net_init

The setup_net is called for the init net namespace
only (int the CONFIG_NET_NS=n of course) from the __init
function, so mark it as __net_init to disappear with the
caller after the boot.

Yet again, in the perfect world this has to be under
#ifdef CONFIG_NET_NS, but it isn't guaranteed that every
subsystem is registered *after* the init_net_ns is set
up. After we are sure, that we don't start registering
them before the init net setup, we'll be able to move
this code under the ifdef.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Hide the dead code in the net_namespace.c
Pavel Emelyanov [Thu, 1 Nov 2007 07:44:50 +0000 (00:44 -0700)]
[NET]: Hide the dead code in the net_namespace.c

The namespace creation/destruction code is never called
if the CONFIG_NET_NS is n, so it's OK to move it under
appropriate ifdef.

The copy_net_ns() in the "n" case checks for flags and
returns -EINVAL when new net ns is requested. In a perfect
world this stub must be in net_namespace.h, but this
function need to know the CLONE_NEWNET value and thus
requires sched.h. On the other hand this header is to be
injected into almost every .c file in the networking code,
and making all this code depend on the sched.h is a
suicidal attempt.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Relax the reference counting of init_net_ns
Pavel Emelyanov [Thu, 1 Nov 2007 07:43:49 +0000 (00:43 -0700)]
[NET]: Relax the reference counting of init_net_ns

When the CONFIG_NET_NS is n there's no need in refcounting
the initial net namespace. So relax this code by making a
stupid stubs for the "n" case.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: Make the init/exit hooks checks outside the loop
Pavel Emelyanov [Thu, 1 Nov 2007 07:42:43 +0000 (00:42 -0700)]
[NETNS]: Make the init/exit hooks checks outside the loop

When the new pernet something (subsys, device or operations) is
being registered, the init callback is to be called for each
namespace, that currently exitst in the system. During the
unregister, the same is to be done with the exit callback.

However, not every pernet something has both calls, but the
check for the appropriate pointer to be not NULL is performed
inside the for_each_net() loop.

This is (at least) strange, so tune this.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Forget the zero_it argument of sk_alloc()
Pavel Emelyanov [Thu, 1 Nov 2007 07:39:31 +0000 (00:39 -0700)]
[NET]: Forget the zero_it argument of sk_alloc()

Finally, the zero_it argument can be completely removed from
the callers and from the function prototype.

Besides, fix the checkpatch.pl warnings about using the
assignments inside if-s.

This patch is rather big, and it is a part of the previous one.
I splitted it wishing to make the patches more readable. Hope
this particular split helped.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Remove bogus zero_it argument from sk_alloc
Pavel Emelyanov [Thu, 1 Nov 2007 07:38:43 +0000 (00:38 -0700)]
[NET]: Remove bogus zero_it argument from sk_alloc

At this point nobody calls the sk_alloc(() with zero_it == 0,
so remove unneeded checks from it.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Make the sk_clone() lighter
Pavel Emelyanov [Thu, 1 Nov 2007 07:37:32 +0000 (00:37 -0700)]
[NET]: Make the sk_clone() lighter

The sk_prot_alloc() already performs all the stuff needed by the
sk_clone(). Besides, the sk_prot_alloc() requires almost twice
less arguments than the sk_alloc() does, so call the sk_prot_alloc()
saving the stack a bit.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Move some core sock setup into sk_prot_alloc
Pavel Emelyanov [Thu, 1 Nov 2007 07:36:26 +0000 (00:36 -0700)]
[NET]: Move some core sock setup into sk_prot_alloc

The security_sk_alloc() and the module_get is a part of the
object allocations - move it in the proper place.

Note, that since we do not reset the newly allocated sock
in the sk_alloc() (memset() is removed with the previous
patch) we can safely do this.

Also fix the error path in sk_prot_alloc() - release the security
context if needed.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Auto-zero the allocated sock object
Pavel Emelyanov [Thu, 1 Nov 2007 07:34:42 +0000 (00:34 -0700)]
[NET]: Auto-zero the allocated sock object

We have a __GFP_ZERO flag that allocates a zeroed chunk of memory.
Use it in the sk_alloc() and avoid a hand-made memset().

This is a temporary patch that will help us in the nearest future :)

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Cleanup the allocation/freeing of the sock object
Pavel Emelyanov [Thu, 1 Nov 2007 07:33:50 +0000 (00:33 -0700)]
[NET]: Cleanup the allocation/freeing of the sock object

The sock object is allocated either from the generic cache with
the kmalloc, or from the proc->slab cache.

Move this logic into an isolated set of helpers and make the
sk_alloc/sk_free look a bit nicer.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Move the get_net() from sock_copy()
Pavel Emelyanov [Thu, 1 Nov 2007 07:31:26 +0000 (00:31 -0700)]
[NET]: Move the get_net() from sock_copy()

The sock_copy() is supposed to just clone the socket. In a perfect
world it has to be just memcpy, but we have to handle the security
mark correctly. All the extra setup must be performed in sk_clone()
call, so move the get_net() into more proper place.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Move the sock_copy() from the header
Pavel Emelyanov [Thu, 1 Nov 2007 07:29:45 +0000 (00:29 -0700)]
[NET]: Move the sock_copy() from the header

The sock_copy() call is not used outside the sock.c file,
so just move it into a sock.c

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion
Ilpo Järvinen [Thu, 1 Nov 2007 07:10:18 +0000 (00:10 -0700)]
[TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion

Similar to commit 3eec0047d9bdd, point of this is to avoid
skipping R-bit skbs.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Process DSACKs that reside within a SACK block
Ilpo Järvinen [Thu, 1 Nov 2007 07:09:37 +0000 (00:09 -0700)]
[TCP]: Process DSACKs that reside within a SACK block

DSACK inside another SACK block were missed if start_seq of DSACK
was larger than SACK block's because sorting prioritizes full
processing of the SACK block before DSACK. After SACK block
sorting situation is like this:

             SSSSSSSSS
                  D
                        SSSSSS
                               SSSSSSS

Because write_queue is walked in-order, when the first SACK block
has been processed, TCP is already past the skb for which the
DSACK arrived and we haven't taught it to backtrack (nor should
we), so TCP just continues processing by going to the next SACK
block after the DSACK (if any).

Whenever such DSACK is present, do an embedded checking during
the previous SACK block.

If the DSACK is below snd_una, there won't be overlapping SACK
block, and thus no problem in that case. Also if start_seq of
the DSACK is equal to the actual block, it will be processed
first.

Tested this by using netem to duplicate 15% of packets, and
by printing SACK block when found_dup_sack is true and the
selected skb in the dup_sack = 1 branch (if taken):

  SACK block 0: 4344-5792 (relative to snd_una 2019137317)
  SACK block 1: 4344-5792 (relative to snd_una 2019137317)

equal start seqnos => next_dup = 0, dup_sack = 1 won't occur...

  SACK block 0: 5792-7240 (relative to snd_una 2019214061)
  SACK block 1: 2896-7240 (relative to snd_una 2019214061)
  DSACK skb match 5792-7240 (relative to snd_una)

...and next_dup = 1 case (after the not shown start_seq sort),
went to dup_sack = 1 branch.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix linkage of enormous kernels.
David S. Miller [Wed, 31 Oct 2007 04:11:28 +0000 (21:11 -0700)]
[SPARC64]: Fix linkage of enormous kernels.

This was found by make randconfig

If the kernel .text is very large, the .fixup section branches
are too far away to be relocated correctly.

Use "sethi %hi(label), reg; jmpl reg + %lo(label); %g0" sequence
instead of the branch to fix this.

There is another case in switch_to() involving a branch, which
is fixed similarly.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix build with CONFIG_NET disabled.
David S. Miller [Mon, 29 Oct 2007 08:19:14 +0000 (01:19 -0700)]
[SPARC64]: Fix build with CONFIG_NET disabled.

We can't export verify_compat_iovec when CONFIG_NET is
disabled, and consequently the Solaris compat module
should also depend upon CONFIG_NET.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix build failure when CONFIG_BUG is disabled.
David S. Miller [Mon, 29 Oct 2007 07:36:09 +0000 (00:36 -0700)]
[SPARC64]: Fix build failure when CONFIG_BUG is disabled.

When CONFIG_BUG is turned off, the standard trick of:

switch (x) {
case X:
...
case Y:
...
default:
BUG();
};

to mark impossible cases does not work because BUG() evalutes
to nothing and thus GCC just sees a fallthrough code path.

Add an explicit KERN_ERR log message and a do_exit() to trap
this case.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Kill unused ITAG_MASK macro in ultra.S
David S. Miller [Mon, 29 Oct 2007 07:23:07 +0000 (00:23 -0700)]
[SPARC64]: Kill unused ITAG_MASK macro in ultra.S

It is unused since we went to an I-cache flush that solely used
the 'flush' instruction, and it's presence breaks the build
when PAGE_SIZE is 512KB.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix bogus '&' conditinal in set_rtc_mmss().
David S. Miller [Sun, 28 Oct 2007 05:33:33 +0000 (22:33 -0700)]
[SPARC64]: Fix bogus '&' conditinal in set_rtc_mmss().

We're using '&' instead of '&&'.

Noticed by Roel Kluin.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Wed, 31 Oct 2007 20:43:31 +0000 (13:43 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  Revert "Driver core: remove class_device_*_bin_file"

17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 31 Oct 2007 20:40:29 +0000 (13:40 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4634/1: DaVinci GPIO header build fix
  [ARM] 4636/1: pxa: add default configuration for zylonite
  [ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com
  [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c
  [ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b
  [ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning
  [ARM] Fix FIQ issue with ARM926
  [ARM] Fix pxamci regression
  [ARM] Fix netx_defconfig regression
  [ARM] Fix ateb9200_defconfig build regression
  [ARM] Fix an rpc_defconfig regression
  [ARM] Fix omap_h2_1610_defconfig regressions
  [ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h

17 years agoRevert "Driver core: remove class_device_*_bin_file"
Greg Kroah-Hartman [Wed, 31 Oct 2007 19:51:29 +0000 (12:51 -0700)]
Revert "Driver core: remove class_device_*_bin_file"

This reverts commit fcd239d3d5575e5cc63aab5c33cf6dc66904f6d6.

I messed up, ia64 still uses these files in the current tree, and now
can not build the pci code, which all ia64 boxes seem to require :)

This fixes that mistake.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoieee1394: ieee1394_transactions.c: remove dead code
Adrian Bunk [Sun, 28 Oct 2007 15:51:32 +0000 (16:51 +0100)]
ieee1394: ieee1394_transactions.c: remove dead code

This patch removes dead code spotted by the Intel C Compiler.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: Fix pci resume to not pass in a __be32 config rom.
Kristian Høgsberg [Tue, 5 Jun 2007 23:27:05 +0000 (19:27 -0400)]
firewire: Fix pci resume to not pass in a __be32 config rom.

The ohci_enable() function shared between pci_probe and pci_resume
takes a host endian config rom, but ohci->config_rom is __be32.  This
sets up the config rom in the wrong endian on little endian machine,
specifically, BusOptions will be initialized to a 0 max receive size.

This patch changes the way we reuse the config rom so that we avoid
this problem.

Signed-off-by: Kristian Hoegsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoRemove broken ptrace() special-case code from file mapping
Linus Torvalds [Wed, 31 Oct 2007 16:19:46 +0000 (09:19 -0700)]
Remove broken ptrace() special-case code from file mapping

The kernel has for random historical reasons allowed ptrace() accesses
to access (and insert) pages into the page cache above the size of the
file.

However, Nick broke that by mistake when doing the new fault handling in
commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7 ("mm: merge populate and
nopage into fault (fixes nonlinear)".  The breakage caused a hang with
gdb when trying to access the invalid page.

The ptrace "feature" really isn't worth resurrecting, since it really is
wrong both from a portability _and_ from an internal page cache validity
standpoint.  So this removes those old broken remnants, and fixes the
ptrace() hang in the process.

Noticed and bisected by Duane Griffin, who also supplied a test-case
(quoth Nick: "Well that's probably the best bug report I've ever had,
thanks Duane!").

Cc: Duane Griffin <duaneg@dghda.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[ARM] 4634/1: DaVinci GPIO header build fix
David Brownell [Mon, 29 Oct 2007 23:15:46 +0000 (00:15 +0100)]
[ARM] 4634/1: DaVinci GPIO header build fix

This fixes a build problem with GPIOs on DaVinci.  Since it inlines
operations for on-chip GPIOs, it needs some headers to support those
direct register accesses.  Those headers won't be included on other
platforms, since they don't have that optimization.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4636/1: pxa: add default configuration for zylonite
eric miao [Tue, 30 Oct 2007 07:02:55 +0000 (08:02 +0100)]
[ARM] 4636/1: pxa: add default configuration for zylonite

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com
eric miao [Tue, 30 Oct 2007 07:01:38 +0000 (08:01 +0100)]
[ARM] 4635/1: pxa: Change Eric Miao's email address to eric.miao@marvell.com

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c
Roel Kluin [Fri, 26 Oct 2007 21:22:51 +0000 (23:22 +0200)]
[ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c

Fix assignment instead of condition

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b
Russell King [Sat, 27 Oct 2007 20:48:43 +0000 (21:48 +0100)]
[ARM] nommu: fix breakage caused by f9720205d1f847cb59e197e851b5276425363f6b

Someone forgot to use 'ls include/asm-*/flat.h' or
'grep -r flat_get_addr_from_rp .' to find all architectures which
may be affected by their change.  Fix the fall out.

Noticed-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning
Russell King [Sat, 27 Oct 2007 14:15:49 +0000 (15:15 +0100)]
[ARM] pxa: shut up CLOCK_EVT_MODE_RESUME warning

Resolve:
  CC      arch/arm/mach-pxa/time.o
arch/arm/mach-pxa/time.c: In function `pxa_osmr0_set_mode':
arch/arm/mach-pxa/time.c:154: warning: enumeration value `CLOCK_EVT_MODE_RESUME' not handled in switch

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix FIQ issue with ARM926
Russell King [Sat, 27 Oct 2007 10:01:35 +0000 (11:01 +0100)]
[ARM] Fix FIQ issue with ARM926

Jon Eibertzon writes:
> We have noticed that the I-cache is disabled while waiting for
> interrupt in cpu_arm926_do_idle in arch/arm/mm/proc-arm926.S
> and we are curious to know why, because this causes us a great
> performance hit when executing in FIQ-handlers. Is it assumed
> here that every individual FIQ-handler re-enables the I-cache?

The I-cache disable is an errata workaround, so the solution is to
disable FIQs across the section with the I-cache disabled.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix pxamci regression
Russell King [Fri, 26 Oct 2007 16:56:40 +0000 (17:56 +0100)]
[ARM] Fix pxamci regression

Fix:

WARNING: at arch/arm/mach-pxa/clock.c:69 clk_disable()
[<c002d7c8>] (dump_stack+0x0/0x14) from [<c00334f4>] (clk_disable+0x34/0xa0)
[<c00334c0>] (clk_disable+0x0/0xa0) from [<c028a43c>] (pxamci_set_ios+0x74/0xf0)
[<c028a3c8>] (pxamci_set_ios+0x0/0xf0) from [<c0281548>] (mmc_power_off+0x90/0x9c)
[<c02814b8>] (mmc_power_off+0x0/0x9c) from [<c0281a30>] (mmc_start_host+0x18/0x28)
[<c0281a18>] (mmc_start_host+0x0/0x28) from [<c02825a0>] (mmc_add_host+0xe8/0x104)
[<c02824b8>] (mmc_add_host+0x0/0x104) from [<c028a7d0>] (pxamci_probe+0x24c/0x2f4)
[<c028a584>] (pxamci_probe+0x0/0x2f4) from [<c01e5948>] (platform_drv_probe+0x20/0x24)
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix netx_defconfig regression
Russell King [Fri, 26 Oct 2007 16:55:28 +0000 (17:55 +0100)]
[ARM] Fix netx_defconfig regression

Fix:

  CC      arch/arm/mach-netx/xc.o
arch/arm/mach-netx/xc.c: In function 'request_xc':
arch/arm/mach-netx/xc.c:192: error: 'struct kobject' has no member named 'name'
arch/arm/mach-netx/xc.c:196: error: 'struct kobject' has no member named 'name'
arch/arm/mach-netx/xc.c:200: error: 'struct kobject' has no member named 'name'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix ateb9200_defconfig build regression
Russell King [Fri, 26 Oct 2007 16:54:39 +0000 (17:54 +0100)]
[ARM] Fix ateb9200_defconfig build regression

Fix:

  CC      drivers/serial/atmel_serial.o
drivers/serial/atmel_serial.c: In function 'atmel_serial_suspend':
drivers/serial/atmel_serial.c:924: error: implicit declaration of function 'at91_suspend_entering_slow_clock'

Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix an rpc_defconfig regression
Russell King [Fri, 26 Oct 2007 16:47:34 +0000 (17:47 +0100)]
[ARM] Fix an rpc_defconfig regression

Fix:

  CC      drivers/scsi/arm/powertec.o
In file included from drivers/scsi/arm/powertec.c:29:
drivers/scsi/arm/scsi.h: In function 'next_SCp':
drivers/scsi/arm/scsi.h:42: error: 'struct scatterlist' has no member named 'page'
drivers/scsi/arm/scsi.h: In function 'init_SCp':
drivers/scsi/arm/scsi.h:80: error: 'struct scatterlist' has no member named 'page'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] Fix omap_h2_1610_defconfig regressions
Russell King [Fri, 26 Oct 2007 15:33:31 +0000 (16:33 +0100)]
[ARM] Fix omap_h2_1610_defconfig regressions

Fix:

arch/arm/mach-omap1/built-in.o: In function `h2_init':
board-h2.c:(.init.text+0xbb4): undefined reference to `i2c_register_board_info'

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h
Matt Reimer [Thu, 25 Oct 2007 18:06:44 +0000 (19:06 +0100)]
[ARM] 4632/1: Fix a typo in include/asm-arm/plat-s3c/regs-nand.h

Fix a typo in include/asm-arm/plat-s3c/regs-nand.h.

Signed-off-by: Matt Reimer <mreimer@vpop.net>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit
David Miller [Wed, 31 Oct 2007 04:23:48 +0000 (21:23 -0700)]
[MEDIA] IVTV: exit_ivtv_i2c() cannot be __devexit

It is referenced both from __devinit code (ivtv_probe) and
normal .text (ivtv_process_eeprom), and therefore cannot
be discarded via __devexit.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 31 Oct 2007 14:46:51 +0000 (07:46 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  [AF_KEY]: suppress a warning for 64k pages.
  [TIPC]: Fix headercheck wrt. tipc_config.h
  [COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
  [CONNECTOR]: Fix a spurious kfree_skb() call
  [COMPAT]: Fix new dev_ifname32 returning -EFAULT
  [NET]: Fix incorrect sg_mark_end() calls.
  [IPVS]: Remove /proc/net/ip_vs_lblcr
  [IPV6]: remove duplicate call to proc_net_remove
  [NETNS]: fix net released by rcu callback
  [NET]: Fix free_netdev on register_netdev failure.
  [WAN]: fix drivers/net/wan/lmc/ compilation

17 years ago[AF_KEY]: suppress a warning for 64k pages.
Stephen Rothwell [Wed, 31 Oct 2007 06:57:05 +0000 (23:57 -0700)]
[AF_KEY]: suppress a warning for 64k pages.

On PowerPC allmodconfig build we get this:

net/key/af_key.c:400: warning: comparison is always false due to limited range of data type

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Wed, 31 Oct 2007 05:23:27 +0000 (22:23 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  add SubmittingPatches to Documentation/ja_JP
  fix typo in SubmittingPatches
  Driver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y
  sysfs: make sysfs_{get,put}_active() static
  kobject: check for duplicate names in kobject_rename
  Driver core: remove class_device_*_bin_file

17 years agoadd SubmittingPatches to Documentation/ja_JP
Keiichi Kii [Fri, 26 Oct 2007 06:55:24 +0000 (15:55 +0900)]
add SubmittingPatches to Documentation/ja_JP

This patch adds SubmittingPatches translated into Japanese to
Documentation/ja_JP directory.

I attach the patch because there is a possibility that MUA
will change the character encoding sometimes.

Signed-off-by: Keiichi KII <k-keiichi@bx.jp.nec.com>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agofix typo in SubmittingPatches
Keiichi Kii [Fri, 26 Oct 2007 06:51:44 +0000 (15:51 +0900)]
fix typo in SubmittingPatches

Fix typo.

Signed-off-by: Keiichi Kii <k-keiichi@bx.jp.nec.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y
Kay Sievers [Fri, 26 Oct 2007 18:07:44 +0000 (20:07 +0200)]
Driver Core: fix bug in device_rename() for SYSFS_DEPRECATED=y

This should fix the sysfs warnings that renaming network devices is
causing to show up with CONFIG_SYSFS_DEPRECATED=y

The code just shouldn't run if class devices are real directories, it's
an update for the symlink in the class directory. Nobody noticed that as
long as the creation of sysfs files silently failed, and we both missed
it before the merge, because we don't run SYSFS_DEPRECATED=y.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: David Miller <davem@davemloft.net>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agosysfs: make sysfs_{get,put}_active() static
Adrian Bunk [Wed, 24 Oct 2007 16:23:32 +0000 (18:23 +0200)]
sysfs: make sysfs_{get,put}_active() static

sysfs_{get,put}_active() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agokobject: check for duplicate names in kobject_rename
Greg Kroah-Hartman [Wed, 24 Oct 2007 23:52:31 +0000 (16:52 -0700)]
kobject: check for duplicate names in kobject_rename

This should catch any duplicate names before we try to tell sysfs to
rename the object.  This happens a lot with older versions of udev and
the network rename scripts.

Cc: David Miller <davem@davemloft.net>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoDriver core: remove class_device_*_bin_file
Greg Kroah-Hartman [Wed, 17 Oct 2007 21:52:43 +0000 (15:52 -0600)]
Driver core: remove class_device_*_bin_file

These functions are not used by anyone, so remove them from the tree.

The class_device code will be removed soon anyway, so no future users
will ever be possible.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[TIPC]: Fix headercheck wrt. tipc_config.h
David S. Miller [Wed, 31 Oct 2007 04:44:00 +0000 (21:44 -0700)]
[TIPC]: Fix headercheck wrt. tipc_config.h

It wants string functions like memcpy() for inline
routines, and these define userland interfaces.

The only clean way to deal with this is to simply
put linux/string.h into unifdef-y and have it
include <string.h> when not-__KERNEL__.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
David S. Miller [Mon, 29 Oct 2007 07:54:39 +0000 (00:54 -0700)]
[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.

Add some missing cond_syscall() entries for this case.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CONNECTOR]: Fix a spurious kfree_skb() call
Michal Januszewski [Wed, 31 Oct 2007 03:41:49 +0000 (20:41 -0700)]
[CONNECTOR]: Fix a spurious kfree_skb() call

Remove a spurious call to kfree_skb() in the connector rx_skb handler.

This fixes a regression introduced by the '[NET]: make netlink user ->
kernel interface synchronious' patch (cd40b7d3983c708aabe3d3008ec64ffce56d33b0)

Signed-off-by: Michal Januszewski <spock@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[COMPAT]: Fix new dev_ifname32 returning -EFAULT
Benjamin Herrenschmidt [Wed, 31 Oct 2007 03:40:45 +0000 (20:40 -0700)]
[COMPAT]: Fix new dev_ifname32 returning -EFAULT

A stray semicolon slipped in the patch that updated dev_ifname32 to
not be inline, causing it to always return -EFAULT. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Fix incorrect sg_mark_end() calls.
David S. Miller [Wed, 31 Oct 2007 04:29:29 +0000 (21:29 -0700)]
[NET]: Fix incorrect sg_mark_end() calls.

This fixes scatterlist corruptions added by

commit 68e3f5dd4db62619fdbe520d36c9ebf62e672256
[CRYPTO] users: Fix up scatterlist conversion errors

The issue is that the code calls sg_mark_end() which clobbers the
sg_page() pointer of the final scatterlist entry.

The first part fo the fix makes skb_to_sgvec() do __sg_mark_end().

After considering all skb_to_sgvec() call sites the most correct
solution is to call __sg_mark_end() in skb_to_sgvec() since that is
what all of the callers would end up doing anyways.

I suspect this might have fixed some problems in virtio_net which is
the sole non-crypto user of skb_to_sgvec().

Other similar sg_mark_end() cases were converted over to
__sg_mark_end() as well.

Arguably sg_mark_end() is a poorly named function because it doesn't
just "mark", it clears out the page pointer as a side effect, which is
what led to these bugs in the first place.

The one remaining plain sg_mark_end() call is in scsi_alloc_sgtable()
and arguably it could be converted to __sg_mark_end() if only so that
we can delete this confusing interface from linux/scatterlist.h

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPVS]: Remove /proc/net/ip_vs_lblcr
Alexey Dobriyan [Tue, 30 Oct 2007 22:40:49 +0000 (15:40 -0700)]
[IPVS]: Remove /proc/net/ip_vs_lblcr

It's under CONFIG_IP_VS_LBLCR_DEBUG option which never existed.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: remove duplicate call to proc_net_remove
Daniel Lezcano [Tue, 30 Oct 2007 22:39:33 +0000 (15:39 -0700)]
[IPV6]: remove duplicate call to proc_net_remove

The file /proc/net/if_inet6 is removed twice.
First time in:
        inet6_exit
             ->addrconf_cleanup
And followed a few lines after by:
        inet6_exit
             -> if6_proc_exit

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: fix net released by rcu callback
Daniel Lezcano [Tue, 30 Oct 2007 22:38:57 +0000 (15:38 -0700)]
[NETNS]: fix net released by rcu callback

When a network namespace reference is held by a network subsystem,
and when this reference is decremented in a rcu update callback, we
must ensure that there is no more outstanding rcu update before
trying to free the network namespace.

In the normal case, the rcu_barrier is called when the network namespace
is exiting in the cleanup_net function.

But when a network namespace creation fails, and the subsystems are
undone (like the cleanup), the rcu_barrier is missing.

This patch adds the missing rcu_barrier.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Fix free_netdev on register_netdev failure.
Daniel Lezcano [Tue, 30 Oct 2007 22:38:18 +0000 (15:38 -0700)]
[NET]: Fix free_netdev on register_netdev failure.

Point 1:
The unregistering of a network device schedule a netdev_run_todo.
This function calls dev->destructor when it is set and the
destructor calls free_netdev.

Point 2:
In the case of an initialization of a network device the usual code
is:
 * alloc_netdev
 * register_netdev
    -> if this one fails, call free_netdev and exit with error.

Point 3:
In the register_netdevice function at the later state, when the device
is at the registered state, a call to the netdevice_notifiers is made.
If one of the notification falls into an error, a rollback to the
registered state is done using unregister_netdevice.

Conclusion:
When a network device fails to register during initialization because
one network subsystem returned an error during a notification call
chain, the network device is freed twice because of fact 1 and fact 2.
The second free_netdev will be done with an invalid pointer.

Proposed solution:
The following patch move all the code of unregister_netdevice *except*
the call to net_set_todo, to a new function "rollback_registered".

The following functions are changed in this way:
 * register_netdevice: calls rollback_registered when a notification fails
 * unregister_netdevice: calls rollback_register + net_set_todo, the call
                         order to net_set_todo is changed because it is the
                         latest now. Since it justs add an element to a list
                         that should not break anything.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>