pandora-kernel.git
16 years agoOMAP: Add OMAP_GPIO_SWITCH dependency for N800 v2.6.23-omap1
Anderson Briglia [Mon, 22 Oct 2007 16:10:58 +0000 (12:10 -0400)]
OMAP: Add OMAP_GPIO_SWITCH dependency for N800

GPIO switch is needed for N800 initialization. It must be
selected when compiling for this device.

Signed-off-by: Anderson Briglia <anderson.briglia@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection
Kevin Hilman [Fri, 19 Oct 2007 21:14:15 +0000 (14:14 -0700)]
ARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection

In the clock init code, the DPLL value set by the bootloader is
queried, but always turns zero due it's parent clock (sys_ck) having
no default rate.  This results in the improper setting of the default
PRCM rate-table entry and any queries of virt_prcm_set rate to return 0.

Rather than setting a static sys_ck.rate, detect the correct value at
boot time.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRevert "ARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection"
Tony Lindgren [Tue, 23 Oct 2007 00:29:24 +0000 (17:29 -0700)]
Revert "ARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection"

This reverts commit 3e02c8300f5a7900e91bb6da219faa6cf27b64f7.

Kevin came up with a better patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection
Kevin Hilman [Fri, 19 Oct 2007 21:14:15 +0000 (14:14 -0700)]
ARM: OMAP: fix default sys_ck.rate for boot-time DPLL detection

In the clock init code, the DPLL value set by the bootloader is
queried, but always turns zero due it's parent clock (sys_ck) having
no default rate.  This results in the improper setting of the default
PRCM rate-table entry and any queries of virt_prcm_set rate to return 0.

Following the example of the TI kernel, set the default sys_ck rate to
13MHz.  Could then be overridden in board setup code.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoset_vpp() is only functional for omap1 now
Amit Kucheria [Fri, 19 Oct 2007 13:32:52 +0000 (16:32 +0300)]
set_vpp() is only functional for omap1 now

Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: fix OMAP1 clockevent support for hrtimers
Kevin Hilman [Thu, 18 Oct 2007 23:04:43 +0000 (16:04 -0700)]
ARM: OMAP: fix OMAP1 clockevent support for hrtimers

One-shot mode was broken in MPU-timer support for OMAP1 due to a typo.

Also, ensure timer is stopped before changing the auto-reload flag.
The TRM says changing the AR flag when timer is running is undefined.

Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com.
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Fix stall handling as OTG peripheral
Tony Lindgren [Sun, 14 Oct 2007 00:38:44 +0000 (17:38 -0700)]
musb_hdrc: Fix stall handling as OTG peripheral

Prevent OTG peripheral trying to change to b_wait_acon if after
file storage CBW stall followed by SUSPEND from host. We switch
back to b_peripheral if RESET in b_wait_acon mode.

Also fix compile warning for missing default case.

And don't try to set b_wait_acon mode unless CONFIG_USB_OTG.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Prototype for omap_mcbsp_set_io_type()
Signed-off-by: Luís Vitório Cargnini [Wed, 26 Sep 2007 03:18:59 +0000 (00:18 -0300)]
ARM: OMAP: Prototype for omap_mcbsp_set_io_type()

this patch add the function prototype of set I/O to the header file os it
could be used outside since it is exported, but not defined in the header
previously

Signed-off-by: Luís Vitório Cargnini <lvcargnini@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomisc musb tweaks
Alan Stern [Fri, 12 Oct 2007 21:26:00 +0000 (14:26 -0700)]
misc musb tweaks

The patch below fixes a few minor infelicities.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
16 years agorest of dma_controller.private_data updates
David Brownell [Fri, 12 Oct 2007 21:24:51 +0000 (14:24 -0700)]
rest of dma_controller.private_data updates

Finish getting rid of dma_controller.private data, fixing a bug
related to the previous DaVinci private_data fix.  Also get rid
of a compiler warning in the 2430 dma code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
16 years agofix omap2 kconfig goofage
David Brownell [Fri, 12 Oct 2007 21:23:48 +0000 (14:23 -0700)]
fix omap2 kconfig goofage

Clean up OMAP2 Kconfig.  Again.

 - 34xx shouldn't go in the middle of the 24xx stuff, it
   goofs the dependency tree displayed by e.g. kconfig.
   In particular, not in the middle of the H4-specific
   options.

 - Make the 2420 boards depend on OMAP2420, and 2430 boards
   on OMAP2430 ... a 2420-only kernel shouldn't show 2430
   boards, and vice versa.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoFIX BUG in GPT1 Clock Selection
Syed Mohammed, Khasim [Wed, 10 Oct 2007 23:17:57 +0000 (18:17 -0500)]
FIX BUG in GPT1 Clock Selection

The GPT1 CLK SEL register was getting wrong src register, due to which GPT1 was not able to select SYS_CLK as input.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Fix compile if CONFIG_ARCH_OMAP_OTG is not set
Tony Lindgren [Thu, 11 Oct 2007 16:54:54 +0000 (09:54 -0700)]
musb_hdrc: Fix compile if CONFIG_ARCH_OMAP_OTG is not set

Fix compile if CONFIG_ARCH_OMAP_OTG is not set

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Allow suspend if host is already suspended
Tony Lindgren [Tue, 9 Oct 2007 23:26:59 +0000 (16:26 -0700)]
musb_hdrc: Allow suspend if host is already suspended

Allow suspend if host is already suspended

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Make vbus sysfs entry report current Vbus status
Felipe Balbi [Thu, 4 Oct 2007 17:02:22 +0000 (13:02 -0400)]
musb_hdrc: Make vbus sysfs entry report current Vbus status

Getting the current status of Vbus is useful when running
USB Compliance Tests.

Signed-off-by: Felipe Balbi <felipe.lima@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Make HNP more reliable
Tony Lindgren [Fri, 28 Sep 2007 22:07:05 +0000 (15:07 -0700)]
musb_hdrc: Make HNP more reliable

Sometimes we get both SUSPEND and DISCONNECT the same time.
In that case DISCONNECT must be ignored or else the HNP connection
will break right away.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Add timer for returning to host mode from HNP
Tony Lindgren [Thu, 27 Sep 2007 21:52:27 +0000 (14:52 -0700)]
musb_hdrc: Add timer for returning to host mode from HNP

This seems like the only way to deal with interrupted HNP if waiting
as a_wait_bcon.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Don't idle as host if VBUS timeout is 0
Tony Lindgren [Wed, 26 Sep 2007 17:40:27 +0000 (10:40 -0700)]
musb_hdrc: Don't idle as host if VBUS timeout is 0

VBUS must be on all the time in this case.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Improve tusb host state handling for a_idle
Tony Lindgren [Fri, 21 Sep 2007 00:37:14 +0000 (17:37 -0700)]
musb_hdrc: Improve tusb host state handling for a_idle

This patch makes the changes happen based on vbus change.
This also seems to make enumeration work better.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Fix host suspend handling, remove earlier hacks
Tony Lindgren [Thu, 20 Sep 2007 00:23:49 +0000 (17:23 -0700)]
musb_hdrc: Fix host suspend handling, remove earlier hacks

If A-cable was connected and a gadget module was reloaded, root hub
suspend would fail.

This the problem by managing musb inactive state better. The patch also adds
more debug info for cases where suspend is attempted in active state.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Remove non-debug otg_state_string
Tony Lindgren [Wed, 19 Sep 2007 19:50:05 +0000 (12:50 -0700)]
musb_hdrc: Remove non-debug otg_state_string

The right state information via sys is good to know, don't try to optimize
it away.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Remove old sysfs entry cable, use mode instead
Tony Lindgren [Wed, 19 Sep 2007 19:43:40 +0000 (12:43 -0700)]
musb_hdrc: Remove old sysfs entry cable, use mode instead

Cable was used earlier before OTG support for peripherals, however
it does not really work for OTG. Sysfs entry mode shows the right
OTG mode and should be used instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Add more sysfs notify events
Tony Lindgren [Wed, 19 Sep 2007 19:30:00 +0000 (12:30 -0700)]
musb_hdrc: Add more sysfs notify events

Notify on all musb_stage0_irq events. For musb_stage2_irq events,
add notify on suspend. Do not notify on SOF.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agomusb_hdrc: Allow tusb3.0 and greater to use multichannel DMA
Tony Lindgren [Fri, 14 Sep 2007 22:32:58 +0000 (15:32 -0700)]
musb_hdrc: Allow tusb3.0 and greater to use multichannel DMA

Allow tusb3.0 and greater to use multichannel DMA

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Make dyntick work again
Tony Lindgren [Thu, 11 Oct 2007 21:31:18 +0000 (14:31 -0700)]
ARM: OMAP: Make dyntick work again

Add set_next_event() and let the clock event code take care of
the rest.

Note that we're still reprogramming timer in periodic mode,
but this is OK as in the worst case we'll just get another
interrupt before timer is programmed again.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix musb_core parameter passing to cppi start
Dirk Behme [Mon, 8 Oct 2007 18:35:14 +0000 (20:35 +0200)]
ARM: OMAP: Fix musb_core parameter passing to cppi start

cppi_controller_start() expects a struct dma_controller as parameter
and not dma_controller private_data. Current implementation crashes
with e.g.

Internal error: Oops: 805 [#1]
Modules linked in:
CPU: 0    Not tainted  (2.6.23-rc4-davinci1 #2)
PC is at cppi_controller_start+0x18/0x140
LR is at musb_probe+0x1f4/0x824

Fix this. Initial proposal for fix by David Brownell. Thanks!

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: GPIO IRQSTATUS2 workaround applies to 2430
Kevin Hilman [Thu, 4 Oct 2007 00:48:16 +0000 (17:48 -0700)]
ARM: OMAP: GPIO IRQSTATUS2 workaround applies to 2430

The workaround to clear both sides of GPIO IRQ applies to 2430 as well
as 2420.  Use cpu_is_omap24xx() instead of cpu_is_omap2420()

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoVIDEO: OMAP: BACKLIGHT: Fix compiling issues due to API changes
Felipe Balbi [Wed, 3 Oct 2007 20:28:05 +0000 (16:28 -0400)]
VIDEO: OMAP: BACKLIGHT: Fix compiling issues due to API changes

This patch fixes compilation for omap_bl.c due to removal of
old class_dev

Signed-off-by: Felipe Balbi <felipe.lima@indt.org.br>
Acked-by: Luís Cargnini <lvcargnini@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Fix warning in gpio.c
Dirk Behme [Wed, 3 Oct 2007 07:09:37 +0000 (09:09 +0200)]
ARM: OMAP: Fix warning in gpio.c

Fix warning

arch/arm/plat-omap/gpio.c: In function '_omap_gpio_init':
arch/arm/plat-omap/gpio.c:1299: warning: unused variable 'clk_name'
arch/arm/plat-omap/gpio.c: At top level:
arch/arm/plat-omap/gpio.c:1282: warning: 'gpio_fck' defined but not used

for OMAP1.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge 2.6.23
Tony Lindgren [Tue, 9 Oct 2007 22:07:44 +0000 (15:07 -0700)]
Merge 2.6.23

Merge branches 'master' and 'linus'

16 years agoLinux 2.6.23 v2.6.23
Linus Torvalds [Tue, 9 Oct 2007 20:31:38 +0000 (13:31 -0700)]
Linux 2.6.23

16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 9 Oct 2007 19:38:44 +0000 (12:38 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Au1000: set the PCI controller IO base
  [MIPS] Alchemy: Fix USB initialization.
  [MIPS] IP32: Fix fatal typo in address computation.

16 years agoNLM: Fix a memory leak in nlmsvc_testlock
Trond Myklebust [Tue, 9 Oct 2007 15:04:57 +0000 (11:04 -0400)]
NLM: Fix a memory leak in nlmsvc_testlock

The recent fix for a circular lock dependency unfortunately introduced a
potential memory leak in the event where the call to nlmsvc_lookup_host
fails for some reason.

Thanks to Roel Kluin for spotting this.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosata_mv: correct S/G table limits
Jeff Garzik [Tue, 9 Oct 2007 17:51:57 +0000 (13:51 -0400)]
sata_mv: correct S/G table limits

The recent mv_fill_sg() rewrite, to fix a data corruption problem
related to IOMMU virtual merging, forgot to account for the
potentially-increased size of the scatter/gather table after its run.

Additionally, the DMA boundary is reduced from 0xffffffff to 0xffff
to more closely match the needs of mv_fill_sg().

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[MIPS] Au1000: set the PCI controller IO base
Florian Fainelli [Tue, 25 Sep 2007 15:07:30 +0000 (17:07 +0200)]
[MIPS] Au1000: set the PCI controller IO base

The PCI controller IO base was not set in the au1000 pci code.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Alchemy: Fix USB initialization.
Florian Fainelli [Tue, 25 Sep 2007 15:07:24 +0000 (17:07 +0200)]
[MIPS] Alchemy: Fix USB initialization.

This patch fixes a wrong ifdef in the board setup code, leading to the GPIO
pin not being pulled high, and thus the USB switch not being powered at all.

This finishes the rename of CONFIG_USB_OHCI to CONFIG_USB_OHCI_HCD, which
started in 2005 (before 2.6.12-rc2), then probably because things were
working anyway for most people got forgotten.

[Ralf: Paolo's original patch didn't fix the module case, Florian's patch
only fixed MTX1 etc. so this is a combined patch plus some cleanups.]

Cc: Giuseppe Patanè <giuseppe.patane@tvblob.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] IP32: Fix fatal typo in address computation.
Giuseppe Sacco [Sat, 6 Oct 2007 17:55:03 +0000 (19:55 +0200)]
[MIPS] IP32: Fix fatal typo in address computation.

Signed-off-by: Giuseppe Sacco <eppesuig@debian.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years agoCorrect Makefile rule for generating custom keymap
Maarten Bressers [Mon, 8 Oct 2007 22:59:13 +0000 (15:59 -0700)]
Correct Makefile rule for generating custom keymap

When building a custom keymap, after setting GENERATE_KEYMAP := 1 in
drivers/char/Makefile, the kernel build fails like this:

    CC      drivers/char/vt.o
  make[2]: *** No rule to make target `drivers/char/%.map', needed by `drivers/char/defkeymap.c'.  Stop.
  make[1]: *** [drivers/char] Error 2
  make: *** [drivers] Error 2

This was caused by commit af8b128719f5248e542036ea994610a29d0642a6, which
deleted a necessary colon from the Makefile rule that generates the keymap,
since that rule contains both a target and a target-pattern.  The following
patch puts the colon back:

Signed-off-by: Maarten Bressers <mbres@gentoo.org>
Cc: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoISDN: Fix data access out of array bounds
Karsten Keil [Mon, 8 Oct 2007 10:52:09 +0000 (12:52 +0200)]
ISDN: Fix data access out of array bounds

Fix against access random data bytes outside the dev->chanmap array.
Thanks to Oliver Neukum for pointing me to this issue.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 8 Oct 2007 19:59:10 +0000 (12:59 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IPv6]: Fix ICMPv6 redirect handling with target multicast address
  [PKT_SCHED] cls_u32: error code isn't been propogated properly
  [ROSE]: Fix rose.ko oops on unload
  [TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed

16 years agoAIO: fix cleanup in io_submit_one(...)
Yan Zheng [Mon, 8 Oct 2007 19:16:20 +0000 (12:16 -0700)]
AIO: fix cleanup in io_submit_one(...)

When IOCB_FLAG_RESFD flag is set and iocb->aio_resfd is incorrect,
statement 'goto out_put_req' is executed. At label 'out_put_req',
aio_put_req(..) is called, which requires 'req->ki_filp' set.

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Cc: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix page release issue in filemap_fault
Yan Zheng [Mon, 8 Oct 2007 17:08:37 +0000 (10:08 -0700)]
fix page release issue in filemap_fault

find_lock_page increases page's usage count, we should decrease it
before return VM_FAULT_SIGBUS

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix VM_CAN_NONLINEAR check in sys_remap_file_pages
Yan Zheng [Mon, 8 Oct 2007 17:05:48 +0000 (10:05 -0700)]
fix VM_CAN_NONLINEAR check in sys_remap_file_pages

The test for VM_CAN_NONLINEAR always fails

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomm: set_page_dirty_balance() vs ->page_mkwrite()
Peter Zijlstra [Mon, 8 Oct 2007 16:54:37 +0000 (18:54 +0200)]
mm: set_page_dirty_balance() vs ->page_mkwrite()

All the current page_mkwrite() implementations also set the page dirty. Which
results in the set_page_dirty_balance() call to _not_ call balance, because the
page is already found dirty.

This allows us to dirty a _lot_ of pages without ever hitting
balance_dirty_pages().  Not good (tm).

Force a balance call if ->page_mkwrite() was successful.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[IPv6]: Fix ICMPv6 redirect handling with target multicast address
Brian Haley [Mon, 8 Oct 2007 07:12:05 +0000 (00:12 -0700)]
[IPv6]: Fix ICMPv6 redirect handling with target multicast address

When the ICMPv6 Target address is multicast, Linux processes the
redirect instead of dropping it.  The problem is in this code in
ndisc_redirect_rcv():

         if (ipv6_addr_equal(dest, target)) {
                 on_link = 1;
         } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) {
                 ND_PRINTK2(KERN_WARNING
                            "ICMPv6 Redirect: target address is not
link-local.\n");
                 return;
         }

This second check will succeed if the Target address is, for example,
FF02::1 because it has link-local scope.  Instead, it should be checking
if it's a unicast link-local address, as stated in RFC 2461/4861 Section
8.1:

       - The ICMP Target Address is either a link-local address (when
         redirected to a router) or the same as the ICMP Destination
         Address (when redirected to the on-link destination).

I know this doesn't explicitly say unicast link-local address, but it's
implied.

This bug is preventing Linux kernels from achieving IPv6 Logo Phase II
certification because of a recent error that was found in the TAHI test
suite - Neighbor Disovery suite test 206 (v6LC.2.3.6_G) had the
multicast address in the Destination field instead of Target field, so
we were passing the test.  This won't be the case anymore.

The patch below fixes this problem, and also fixes ndisc_send_redirect()
to not send an invalid redirect with a multicast address in the Target
field.  I re-ran the TAHI Neighbor Discovery section to make sure Linux
passes all 245 tests now.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Acked-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[PKT_SCHED] cls_u32: error code isn't been propogated properly
Stephen Hemminger [Mon, 8 Oct 2007 06:57:45 +0000 (23:57 -0700)]
[PKT_SCHED] cls_u32: error code isn't been propogated properly

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[ROSE]: Fix rose.ko oops on unload
Alexey Dobriyan [Mon, 8 Oct 2007 06:44:17 +0000 (23:44 -0700)]
[ROSE]: Fix rose.ko oops on unload

Commit a3d384029aa304f8f3f5355d35f0ae274454f7cd aka
"[AX.25]: Fix unchecked rose_add_loopback_neigh uses"
transformed rose_loopback_neigh var into statically allocated one.
However, on unload it will be kfree's which can't work.

Steps to reproduce:

modprobe rose
rmmod rose

BUG: unable to handle kernel NULL pointer dereference at virtual address 00000008
 printing eip:
c014c664
*pde = 00000000
Oops: 0000 [#1]
PREEMPT DEBUG_PAGEALLOC
Modules linked in: rose ax25 fan ufs loop usbhid rtc snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd thermal usbcore button processor evdev sr_mod cdrom
CPU:    0
EIP:    0060:[<c014c664>]    Not tainted VLI
EFLAGS: 00210086   (2.6.23-rc9 #3)
EIP is at kfree+0x48/0xa1
eax: 00000556   ebx: c1734aa0   ecx: f6a5e000   edx: f7082000
esi: 00000000   edi: f9a55d20   ebp: 00200287   esp: f6a5ef28
ds: 007b   es: 007b   fs: 0000  gs: 0033  ss: 0068
Process rmmod (pid: 1823, ti=f6a5e000 task=f7082000 task.ti=f6a5e000)
Stack: f9a55d20 f9a5200c 00000000 00000000 00000000 f6a5e000 f9a5200c f9a55a00
       00000000 bf818cf0 f9a51f3f f9a55a00 00000000 c0132c60 65736f72 00000000
       f69f9630 f69f9528 c014244a f6a4e900 00200246 f7082000 c01025e6 00000000
Call Trace:
 [<f9a5200c>] rose_rt_free+0x1d/0x49 [rose]
 [<f9a5200c>] rose_rt_free+0x1d/0x49 [rose]
 [<f9a51f3f>] rose_exit+0x4c/0xd5 [rose]
 [<c0132c60>] sys_delete_module+0x15e/0x186
 [<c014244a>] remove_vma+0x40/0x45
 [<c01025e6>] sysenter_past_esp+0x8f/0x99
 [<c012bacf>] trace_hardirqs_on+0x118/0x13b
 [<c01025b6>] sysenter_past_esp+0x5f/0x99
 =======================
Code: 05 03 1d 80 db 5b c0 8b 03 25 00 40 02 00 3d 00 40 02 00 75 03 8b 5b 0c 8b 73 10 8b 44 24 18 89 44 24 04 9c 5d fa e8 77 df fd ff <8b> 56 08 89 f8 e8 84 f4 fd ff e8 bd 32 06 00 3b 5c 86 60 75 0f
EIP: [<c014c664>] kfree+0x48/0xa1 SS:ESP 0068:f6a5ef28

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed
Ilpo Järvinen [Mon, 8 Oct 2007 06:43:10 +0000 (23:43 -0700)]
[TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed

When only GSO skb was partially ACKed, no hints are reset,
therefore fastpath_cnt_hint must be tweaked too or else it can
corrupt fackets_out. The corruption to occur, one must have
non-trivial ACK/SACK sequence, so this bug is not very often
that harmful. There's a fackets_out state reset in TCP because
fackets_out is known to be inaccurate and that fixes the issue
eventually anyway.

In case there was also at least one skb that got fully ACKed,
the fastpath_skb_hint is set to NULL which causes a recount for
fastpath_cnt_hint (the old value won't be accessed anymore),
thus it can safely be decremented without additional checking.

Reported by Cedric Le Goater <clg@fr.ibm.com>

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoDriver core: fix SYSF_DEPRECATED breakage for nested classdevs
Dmitry Torokhov [Sun, 7 Oct 2007 16:22:21 +0000 (12:22 -0400)]
Driver core: fix SYSF_DEPRECATED breakage for nested classdevs

We should only reparent to a class former class devices that
form the base of class hierarchy. Nested devices should still
grow from their real parents.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Tested-by: Andrey Borzenkov <arvidjaar@mail.ru>
Tested-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Sun, 7 Oct 2007 23:41:09 +0000 (16:41 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: point to migration document

16 years agoAdd manufacturer and card id of teltonica pcmcia modems
Attila Kinali [Sun, 7 Oct 2007 07:24:38 +0000 (00:24 -0700)]
Add manufacturer and card id of teltonica pcmcia modems

Add the manufacturer and card id of teltonica pcmcia modems to serial_cs.c

Signed-off-by: Attila Kinali <attila@kinali.ch>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosysrq docs: document sequence that actually works
Pavel Machek [Sun, 7 Oct 2007 07:24:37 +0000 (00:24 -0700)]
sysrq docs: document sequence that actually works

Document sequence of keypresses that actually works. Yes, this changed
year-or-so ago.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix bogus reporting of signals by audit
Al Viro [Sun, 7 Oct 2007 07:24:36 +0000 (00:24 -0700)]
fix bogus reporting of signals by audit

Async signals should not be reported as sent by current in audit log.  As
it is, we call audit_signal_info() too early in check_kill_permission().
Note that check_kill_permission() has that test already - it needs to know
if it should apply current-based permission checks.  So the solution is to
move the call of audit_signal_info() between those.

Bogosity in question is easily reproduced - add a rule watching for e.g.
kill(2) from specific process (so that audit_signal_info() would not
short-circuit to nothing), say load_policy, watch the bogus OBJ_PID entry
in audit logs claiming that write(2) on selinuxfs file issued by
load_policy(8) had somehow managed to send a signal to syslogd...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Steve Grubb <sgrubb@redhat.com>
Acked-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMove kasprintf.o to obj-y
Alexey Dobriyan [Sun, 7 Oct 2007 07:24:34 +0000 (00:24 -0700)]
Move kasprintf.o to obj-y

Modulat lguest started giving linking errors

MODPOST 1 modules
ERROR: "kasprintf" [drivers/lguest/lg.ko] undefined!

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agolockstat: documentation
Peter Zijlstra [Sun, 7 Oct 2007 07:24:33 +0000 (00:24 -0700)]
lockstat: documentation

Provide some documentation for CONFIG_LOCK_STAT.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoLonghaul: add auto enabled "revid_errata" option
Rafal Bilski [Sun, 7 Oct 2007 07:24:32 +0000 (00:24 -0700)]
Longhaul: add auto enabled "revid_errata" option

VIA C3 Ezra-T has RevisionID equal to 1, but it needs RevisionKey to be 0
or CPU will ignore new frequency and will continue to work at old
frequency.  New "revid_errata" option will force RevisionKey to be set to
0, whatever RevisionID is.

Additionaly "Longhaul" will not silently ignore unsuccessful transition.
It will try to check if "revid_errata" or "disable_acpi_c3" options need to
be enabled for this processor/system.

Same for Longhaul ver.  2 support.  It will be disabled if none of above
options will work.

 Best case scenario (with patch apllied and v2 enabled):
 longhaul: VIA C3 'Ezra' [C5C] CPU detected.  Longhaul v2 supported.
 longhaul: Using northbridge support.
 longhaul: VRM 8.5
 longhaul: Max VID=1.350  Min VID=1.050, 13 possible voltage scales
 longhaul: f: 300000 kHz, index: 0, vid: 1050 mV
 [...]
 longhaul: Voltage scaling enabled.
 Worst case scenario:
 longhaul: VIA C3 'Ezra-T' [C5M] CPU detected.  Powersaver supported.
 longhaul: Using northbridge support.
 longhaul: Using ACPI support.
 longhaul: VRM 8.5
 longhaul: Claims to support voltage scaling but min & max are both 1.250. Voltage scaling disabled
 longhaul: Failed to set requested frequency!
 longhaul: Enabling "Ignore Revision ID" option.
 longhaul: Failed to set requested frequency!
 longhaul: Disabling ACPI C3 support.
 longhaul: Disabling "Ignore Revision ID" option.
 longhaul: Failed to set requested frequency!
 longhaul: Enabling "Ignore Revision ID" option.

[akpm@linux-foundation.org: coding-style cleanups]
Signed-off-by: Rafal Bilski <rafalbilski@interia.pl>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix timer_stats printout of events/sec
Anton Blanchard [Sun, 7 Oct 2007 07:24:31 +0000 (00:24 -0700)]
Fix timer_stats printout of events/sec

When using /proc/timer_stats on ppc64 I noticed the events/sec field wasnt
accurate.  Sometimes the integer part was incorrect due to rounding (we
werent taking the fractional seconds into consideration).

The fraction part is also wrong, we need to pad the printf statement and
take the bottom three digits of 1000 times the value.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoDon't do load-average calculations at even 5-second intervals
Linus Torvalds [Sun, 7 Oct 2007 23:17:38 +0000 (16:17 -0700)]
Don't do load-average calculations at even 5-second intervals

It turns out that there are a few other five-second timers in the
kernel, and if the timers get in sync, the load-average can get
artificially inflated by events that just happen to coincide.

So just offset the load average calculation it by a timer tick.

Noticed by Anders Boström, for whom the coincidence started triggering
on one of his machines with the JBD jiffies rounding code (JBD is one of
the subsystems that also end up using a 5-second timer by default).

Tested-by: Anders Boström <anders@bostrom.dyndns.org>
Cc: Chuck Ebbert <cebbert@redhat.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoVT_WAITACTIVE: Avoid returning EINTR when not necessary
Linus Torvalds [Sun, 7 Oct 2007 23:02:55 +0000 (16:02 -0700)]
VT_WAITACTIVE: Avoid returning EINTR when not necessary

We should generally prefer to return ERESTARTNOHAND rather than EINTR,
so that processes with unhandled signals that get ignored don't return
EINTR.

This can help with X startup issues:

    Fatal server error:
    xf86OpenConsole: VT_WAITACTIVE failed: Interrupted system call

although the real fix is having the X server always retry EINTR
regardless (since EINTR does happen for signals that have handlers
installed). Keithp has a patch for that.

Regardless, ERESTARTNOHAND is the correct thing to use.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofirewire: point to migration document
Stefan Richter [Sun, 7 Oct 2007 10:31:22 +0000 (12:31 +0200)]
firewire: point to migration document

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Sat, 6 Oct 2007 22:47:16 +0000 (15:47 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] IP32: Enable PCI bridges

16 years agoRevert "intel_agp: fix stolen mem range on G33"
Kyle McMartin [Sat, 6 Oct 2007 05:42:34 +0000 (01:42 -0400)]
Revert "intel_agp: fix stolen mem range on G33"

This reverts commit f443675affe3f16dd428e46f0f7fd3f4d703eeab, which
breaks horribly if you aren't running an unreleased xf86-video-intel
driver out of git.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Cc: Dave Airlie <airlied@linux.ie>
Cc: Zhenyu Wang <zhenyu.z.wang@intel.com>
Acked-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix non-terminated PCI match table in PowerMac IDE
Benjamin Herrenschmidt [Sat, 6 Oct 2007 08:52:27 +0000 (18:52 +1000)]
Fix non-terminated PCI match table in PowerMac IDE

The PCI device table in the powermac IDE driver isn't properly
terminated.  Depending on how your kernel is linked and other random
factors, you can end up with this driver matched against any other PCI
device in your system, possibly crashing at boot.

Thanks to Heikki for tracking this down with me, the bug have been there
for some time, though it rarely hurts due to luck.  In this case, the
switch from .22 to .23-rc9 is causing it to show up due to differences
in the resulting layout of .data I suppose.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <pmac@au1.ibm.com>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Heikki Lindholm <holindho@cs.helsinki.fi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoxen: disable split pte locks for now
Jeremy Fitzhardinge [Sat, 6 Oct 2007 00:19:35 +0000 (17:19 -0700)]
xen: disable split pte locks for now

When pinning and unpinning pagetables, we must protect them against
being used by other CPUs, lest they see the pagetable in an
intermediate read-only-but-not-pinned state.

When using split pte locks, doing this properly would require taking
all the pte locks for the pagetable while pinning, but this may overflow
the PREEMPT_BITS part of the preempt counter if the process has mapped
more than about 512M of memory.

However, failing to take the pte locks causes write-protect faults when
the pageout code is trying to clear the Access bit on a pte which is part
of a freshy created and still being pinned process after fork.

This is a short-term fix until the problem is solved properly.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andi Kleen <ak@suse.de>
Cc: Keir Fraser <keir@xensource.com>
Cc: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 5 Oct 2007 21:09:10 +0000 (14:09 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspend
  [ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspend

16 years ago[ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspend
Ben Dooks [Thu, 4 Oct 2007 22:18:08 +0000 (23:18 +0100)]
[ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspend

Ensure nRSTOUT is not asserted during or on resume.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspend
Ben Dooks [Thu, 4 Oct 2007 22:16:42 +0000 (23:16 +0100)]
[ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspend

Ensure that CPLD is restored to the original state
on resume, and that before going into suspend we
select the NAND bank we booted from for restarting.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agor8169: revert part of 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2
Francois Romieu [Wed, 3 Oct 2007 22:42:50 +0000 (00:42 +0200)]
r8169: revert part of 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2

The 8169/8110SC currently announces itself as:
[...]
eth0: RTL8169sc/8110sc at 0x........, ..:..:..:..:..:.., XID 18000000 IRQ ..
                                                             ^^^^^^^^
It uses RTL_GIGA_MAC_VER_05 and this part of the changeset can cut
its performance by a factor of 2~2.5 as reported by Timo.

(the driver includes code just before the hunk to write the ChipCmd
register when mac_version == RTL_GIGA_MAC_VER_0[1-4])

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Timo Jantunen <jeti@welho.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 5 Oct 2007 15:08:08 +0000 (08:08 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix 'niu' complex IRQ probing.
  [SPARC64]: check fork_idle() error
  [SPARC64]: Temporary workaround for PCI-E slot on T1000.
  [SPARC64]: VIO device addition log message level is too high.
  [SPARC64]: Fix domain-services port probing.
  [SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy.

16 years agoRemove unnecessary cast in prefetch()
Serge Belyshev [Thu, 4 Oct 2007 21:10:04 +0000 (23:10 +0200)]
Remove unnecessary cast in prefetch()

It is ok to call prefetch() function with NULL argument, as specifically
commented in include/linux/prefetch.h.  But in standard C, it is invalid
to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and
note #84).

prefetch() has a memory reference for its argument.

Newer gcc versions (4.3 and above) will use that to conclude that "x"
argument is non-null and thus wreaking havok everywhere prefetch() was
inlined.

Fixed by removing cast and changing asm constraint.

[ It seems in theory gcc 4.2 could miscompile this too; although no
  cases known.  In 2.6.24 we should probably switch to
  __builtin_prefetch() instead, but this is a simpler fix for now.
-- AK ]

Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[MIPS] IP32: Enable PCI bridges
Giuseppe Sacco [Thu, 4 Oct 2007 21:09:12 +0000 (23:09 +0200)]
[MIPS] IP32: Enable PCI bridges

Fixe MACE PCI addressing by adding the bus number parameter.
Remove check of the used slot since every slot should be valid.
Converted mkaddr from #define to inline function.

Signed-off-by: Giuseppe Sacco <eppesuig@debian.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[SPARC64]: Fix 'niu' complex IRQ probing.
David S. Miller [Thu, 4 Oct 2007 22:03:35 +0000 (15:03 -0700)]
[SPARC64]: Fix 'niu' complex IRQ probing.

They should be computed the same as how we compute
them under 'virtual-devices'.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: check fork_idle() error
Akinobu Mita [Thu, 4 Oct 2007 21:55:59 +0000 (14:55 -0700)]
[SPARC64]: check fork_idle() error

Check the return value of fork_idle() to catch error.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Thu, 4 Oct 2007 17:29:19 +0000 (10:29 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] megaraid_old: fix READ_CAPACITY

16 years agoFix sys_remap_file_pages BUG at highmem.c:15!
Hugh Dickins [Thu, 4 Oct 2007 15:56:06 +0000 (16:56 +0100)]
Fix sys_remap_file_pages BUG at highmem.c:15!

Gurudas Pai reports kernel BUG at arch/i386/mm/highmem.c:15! below
sys_remap_file_pages, while running Oracle database test on x86 in 6GB
RAM: kunmap thinks we're in_interrupt because the preempt count has
wrapped.

That's because __do_fault expected to unmap page_table, but one of its
two callers do_nonlinear_fault already unmapped it: let do_linear_fault
unmap it first too, and then there's no need to pass the page_table arg
down.

Why have we been so slow to notice this? Probably through forgetting
that the mapping_cap_account_dirty test means that sys_remap_file_pages
nowadays only goes the full nonlinear vma route on a few memory-backed
filesystems like ramfs, tmpfs and hugetlbfs.

[ It also depends on CONFIG_HIGHPTE, so it becomes even harder to
  trigger in practice. Many who have need of large memory have probably
  migrated to x86-64..

  Problem introduced by commit d0217ac04ca6591841e5665f518e38064f4e65bd
  ("mm: fault feedback #1")                -- Linus ]

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: gurudas pai <gurudas.pai@oracle.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago[SCSI] megaraid_old: fix READ_CAPACITY
FUJITA Tomonori [Wed, 3 Oct 2007 00:00:58 +0000 (09:00 +0900)]
[SCSI] megaraid_old: fix READ_CAPACITY

The bulk transfer mode got eleminated by
3f6270ef76f2ce5c134615a470685d6c2a66c07e.  Unfortunately, this mode is
required for READ_CAPACITY commands on certain cards, so put it back
again.  This fixes a boot failure regression reported by Burton
Windle.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SPARC64]: Temporary workaround for PCI-E slot on T1000.
David S. Miller [Thu, 4 Oct 2007 04:37:57 +0000 (21:37 -0700)]
[SPARC64]: Temporary workaround for PCI-E slot on T1000.

The PCI-E slot on T1000 connects directly to the Fire PCI chip with no
intervening bridges visible in the OBP tree.

Unfortunately the bus numbering of the device in that slot is
different (2) from the PCI host controller (0), and thus the
pci_bus_{read,write}_config_*() calls don't work out.

Complicating things further the Fire PCI controller has no config
space it responds to either.

For now treat this case specially so that devices in the slot work.

Longer term we need to perhaps cons up a dummy bridge between the Fire
and the PCI-E slot so that the bus hierarchy is complete inside of the
kernel and thus the bus numbering all works out right.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: VIO device addition log message level is too high.
David S. Miller [Thu, 4 Oct 2007 04:23:40 +0000 (21:23 -0700)]
[SPARC64]: VIO device addition log message level is too high.

There is no reason this should be KERN_ERR, KERN_INFO is
just fine.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[SPARC64]: Fix domain-services port probing.
David S. Miller [Thu, 4 Oct 2007 04:08:11 +0000 (21:08 -0700)]
[SPARC64]: Fix domain-services port probing.

We should only use ports underneath "domain-services", other DS ports
in the MDESC aren't for us to use.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 3 Oct 2007 22:44:10 +0000 (15:44 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  drivers/ata/pata_ixp4xx_cf.c: ioremap return code check
  Ata: pata_marvell, use ioread* for iomap-ped memory
  libata: fix for sata_mv >64KB DMA segments

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 3 Oct 2007 22:43:36 +0000 (15:43 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  sky2: jumbo frame regression fix
  [PATCH] softmac: Fix compiler-warning
  [PATCH] bcm43xx: Correct printk with PFX before KERN_

16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 3 Oct 2007 22:43:17 +0000 (15:43 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Terminally fix local_{dec,sub}_if_positive
  [MIPS] Type proof reimplementation of cmpxchg.
  [MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaround

16 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney...
Linus Torvalds [Wed, 3 Oct 2007 22:34:07 +0000 (15:34 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
  Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle.pokki@iki.fi>
  Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver
  Blackfin arch: add some missing syscall
  binfmt_flat: checkpatch fixing minimum support for the blackfin relocations
  Binfmt_flat: Add minimum support for the Blackfin relocations

16 years agodrivers/ata/pata_ixp4xx_cf.c: ioremap return code check
Scott Thompson [Tue, 2 Oct 2007 20:53:01 +0000 (13:53 -0700)]
drivers/ata/pata_ixp4xx_cf.c: ioremap return code check

Add missing ioremap return checks.

Signed-off-by: Scott Thompson <postfail <at> hushmail.com>
Acked-by: Tejun Heo <htejun@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoAta: pata_marvell, use ioread* for iomap-ped memory
Jiri Slaby [Tue, 2 Oct 2007 20:53:01 +0000 (13:53 -0700)]
Ata: pata_marvell, use ioread* for iomap-ped memory

pata_marvell, use ioread* for iomap-ped memory

read* on pci_iomapped memory is incorrect, fix it

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata: fix for sata_mv >64KB DMA segments
Olof Johansson [Wed, 3 Oct 2007 01:45:27 +0000 (20:45 -0500)]
libata: fix for sata_mv >64KB DMA segments

Fix bug in sata_mv for cases where the IOMMU layer has merged SG entries
to larger than 64KB. They need to be split up before being sent to
the driver.

Just for simplicity's sake, split up at 64K boundary instead of 64K size,
since that's what the common code does anyway.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoocfs2: Unlock mutex in local alloc failure case
Sunil Mushran [Fri, 21 Sep 2007 18:41:43 +0000 (11:41 -0700)]
ocfs2: Unlock mutex in local alloc failure case

The fs was not unlocking the local alloc inode mutex in the code path in
which it failed to find a window of free bits in the global bitmap.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
16 years agosky2: jumbo frame regression fix
Stephen Hemminger [Wed, 3 Oct 2007 01:02:09 +0000 (18:02 -0700)]
sky2: jumbo frame regression fix

Remove unneeded check that caused problems with jumbo frame sizes.
The check was recently added and is wrong.
When using jumbo frames the sky2 driver does fragmentation, so
rx_data_size is less than mtu.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoMerge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linvill...
Jeff Garzik [Wed, 3 Oct 2007 17:39:16 +0000 (13:39 -0400)]
Merge branch 'fixes-jgarzik' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

16 years agoBlackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle...
Michael Hennerich [Wed, 3 Oct 2007 16:36:18 +0000 (00:36 +0800)]
Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle.pokki@iki.fi>

Cc: Kalle Pokki <kalle.pokki@iki.fi>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
16 years agoBlackfin arch: gpio pinmux and resource allocation API required by BF537 on chip...
Michael Hennerich [Wed, 3 Oct 2007 16:35:05 +0000 (00:35 +0800)]
Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
16 years ago[MIPS] Terminally fix local_{dec,sub}_if_positive
Ralf Baechle [Wed, 3 Oct 2007 13:29:19 +0000 (14:29 +0100)]
[MIPS] Terminally fix local_{dec,sub}_if_positive

They contain 64-bit instructions so wouldn't work on 32-bit kernels or
32-bit hardware.  Since there are no users, blow them away.  They
probably were only ever created because there are atomic_sub_if_positive
and atomic_dec_if_positive which exist only for sake of semaphores.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] Type proof reimplementation of cmpxchg.
Ralf Baechle [Mon, 1 Oct 2007 03:15:00 +0000 (04:15 +0100)]
[MIPS] Type proof reimplementation of cmpxchg.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaround
Maciej W. Rozycki [Tue, 2 Oct 2007 13:47:22 +0000 (14:47 +0100)]
[MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaround

Restore a load from KSEG1 done as a workaround for an R4600 v2
erratum, dropped with 211be16de99a7424e66c0b6c0d00e2c970508ac2.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
16 years ago[PATCH] softmac: Fix compiler-warning
Richard Knutsson [Mon, 1 Oct 2007 00:24:38 +0000 (02:24 +0200)]
[PATCH] softmac: Fix compiler-warning

  CC      net/ieee80211/softmac/ieee80211softmac_wx.o
/home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c: In function â\80\98ieee80211softmac_wx_set_essidâ\80\99:
/home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c:117: warning: label â\80\98outâ\80\99 defined but not used

due to commit: efe870f9f4ad74410a18ecbf0d9ba7c14b50a0fb. Removing the label.

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years ago[SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy.
David S. Miller [Tue, 2 Oct 2007 23:17:17 +0000 (16:17 -0700)]
[SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy.

It doesn't matter for use in 64-bit objects, but when used in
32-bit environments the top 32-bits of the local and in
registers will get chopped off on the next register window
spill/restore which leads to difficult to track down and
subtle bugs.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[PATCH] bcm43xx: Correct printk with PFX before KERN_
Joe Perches [Tue, 2 Oct 2007 19:57:11 +0000 (12:57 -0700)]
[PATCH] bcm43xx: Correct printk with PFX before KERN_

Correct printk with PFX before KERN_ in bcm43xx_wx.c

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMerge branch 'sas-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6
Linus Torvalds [Tue, 2 Oct 2007 17:41:06 +0000 (10:41 -0700)]
Merge branch 'sas-fixes' of /linux/kernel/git/jgarzik/misc-2.6

* 'sas-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
  aic94xx: fix DMA data direction for SMP requests

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Tue, 2 Oct 2007 17:40:40 +0000 (10:40 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  dm9601: Fix receive MTU
  mv643xx_eth: Do not modify struct netdev tx_queue_len
  qla3xxx: bugfix: Fix VLAN rx completion handling.
  qla3xxx: bugfix: Add memory barrier before accessing rx completion.

16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Tue, 2 Oct 2007 17:40:20 +0000 (10:40 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  ata_piix: add another TECRA M3 entry to broken suspend list