Paul Walmsley [Wed, 10 Sep 2008 16:47:49 +0000 (10:47 -0600)]
OMAP2/3 clock: mark the rest of the CM clocks as belonging to cm_clkdm
Mark CM clocks with no clockdomain as belonging to the CM clockdomain.
References for the OMAP3xxx clocks:
OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
Figure 4-13:
- sys_ck
Figure 4-35:
- sys_clkout2
Figure 4-37:
- corex2_fck, core_ck, dss_tv_fck
Figure 4-38:
- omap_96m_alwon_fck
Figure 4-39:
- corex2_fck, cm_96m_fck, omap_96m_fck, omap_54m_fck, omap_12m_fck,
dpll1_fck, dpll2_fck, rm_ick, dss_tv_fck
Section 4.7.3.2:
- omap_96m_alwon_fck, omap_96m_fck, omap_48m_fck
OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
Figure 3-19:
- cpefuse_fck
Table 3-57:
- dss_tv_fck
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Wed, 10 Sep 2008 16:47:46 +0000 (10:47 -0600)]
OMAP2/3 clock: convert wkup_clkdm CM clocks to cm_clkdm
Convert existing wkup_clkdm clocks that should be in the CM clockdomain
to cm_clkdm. (A later patch will add CM clockdomain associations for
unassociated clocks.)
References:
OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
Figure 5-9
- func_54m_ck, core_ck, func_96m_ck, func_48m_ck, func_12m_ck
OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
Figure 4-35
- sys_clkout2
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Wed, 10 Sep 2008 16:47:43 +0000 (10:47 -0600)]
OMAP2/3 clock: annotate PRM clocks that are missing clockdomains
Some PRM clocks are missing clockdomain assignments; add them.
Also, in OMAP2xxx clock tree, standardize the name for wdt1_osc_ck.
References for the OMAP2xxx clocks:
OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
Table 18-41:
- wdt1_osc_ck
References for the OMAP3xxx clocks:
OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
Figure 4-13:
- sys_clkout1,
Table 4-37:
- sys_ck
Table 4-38:
- omap_32k_fck, osc_sys_ck,
Figure 4-56:
- sr1_fck, sr2_fck
Figure 4-57:
- omap_96m_alwon_fck
Section 4.7.7.13:
- sr1_fck, sr2_fck
OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
Table 2-5:
- usim_fck
Figure 3-29:
- secure_32k_fck, gpt12_fck, wdt1_fck
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Wed, 10 Sep 2008 16:47:39 +0000 (10:47 -0600)]
OMAP2/3 clock: convert wkup_clkdm PRM clocks to prm_clkdm
Convert existing wkup_clkdm clocks that should be in the PRM clockdomain
to prm_clkdm. (A later patch will add PRM clockdomain associations for
unassociated clocks.)
References for the OMAP2xxx clocks:
OMAP2420 Multimedia Processor Silicon Revision 2.1.1, 2.2 TRM Version Q
Figure 4-11:
- alt_ck
Figure 5-7:
- func_32k_ck, osc_ck, sys_ck
Figure 5-8 (assumes that "Level 0" = PRM)
- dpll_ck, apll96_ck, apll54_ck, func_54m_ck
Section 5.4.1.1:
- sys_clkout_src, sys_clkout
Section 29.3.1.1:
- gpios_fck, mpu_wdt_fck, mpu_wdt_ick
References for the OMAP3xxx clocks:
OMAP34xx Multimedia Device Silicon Revision 3.0 Version I TRM
Figure 4-54:
- gpt1_fck, wkup_32k_fck, wdt2_fck, wkup_l4_fck, omap_32ksync_ick,
gpt1_ick
Section 25.3.1.1.3:
- gpio1_fck, gpio1_ick
OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security
Addendum Version B TRM
Table 2-5:
- usim_ick
Figure 3-29:
- wdt1_ick, gpt12_ick
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Wed, 10 Sep 2008 16:47:36 +0000 (10:47 -0600)]
OMAP2/3 clockdomains: add CM and PRM clkdms
Add clockdomains for the CM and PRM. These will ultimately replace the
"wkup_clkdm", which appears to not actually exist on the hardware.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:42 +0000 (19:20 +0300)]
lowmem: Remove the possibility to stack the module
The mod_reg_security() function that is used to stack modules has been removed:
"LSMs wishing to stack capability as a secondary module should do so
explicitly". Thus, let's remove the possibility to stack in the init function.
The functionality could probably be reintroduced later if somebody has time to
implement it.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:41 +0000 (19:20 +0300)]
lowmem: Fix split of ptrace
A previous commit split the ptrace member into two. Thus we need to update the
lowmem module accordingly.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:40 +0000 (19:20 +0300)]
lowmem: add compatibility code
This is a patch that will reintroduce the old sysctl lowmem variables as read
only values in /proc/sys/vm. Some parts of the userland (at least libosso) are
reading these and it would probably greatly ease the transition to the new
scheme with memory limits in pages. We can revert this ugly patch when userland
has moved to the new scheme.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:39 +0000 (19:20 +0300)]
lowmem: Security modules can no longer be removed.
The unregister_security() and mod_unreg_security() functions were removed
because the upstream developers believe that it should not be possible to remove
security modules, "It is used only by out-of-tree modules, which are often
binary-only, illegal, abusive of the API and dangerous, e.g. silently
re-vectoring SELinux."
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:38 +0000 (19:20 +0300)]
lowmem: update memory management functions for the new kernel
These functions now require an additional argument, so let's add it.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:37 +0000 (19:20 +0300)]
lowmem: sysfs has changed
Currently, the lowmem module doesn't even compile because the kernel API has
changed. This patch will unbreak the sysfs related code.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:36 +0000 (19:20 +0300)]
lowmem: remove an unecessary local variable
This "changed" variable is kind of deprecated. We used to have a spinlock
[which was later deemed unecessary] around the first if clause in the
*_watermark_state() functions; the variable was needed in order to move the
operation in the second if clause out of the lock section.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:35 +0000 (19:20 +0300)]
lowmem: get rid of the percentages
The purpose of this patch is to get rid of the lame percentage calculations in
lowmem.c. Currently, the limits (measured in pages) are calculated from
percentages every time somebody from userspace requests some memory. With this
patch, the limits are in pages and furthermore, they are specified as minimum
amount of "free pages", instead of as maximum amount of "used pages". "Free"
means free pages or such pages that can easily be freed by the VM system.
This patch changes the names of the lowmem sysctl limits in /proc/sys/vm:
lowmem_deny_watermark => lowmem_deny_watermark_pages
lowmem_notify_low => lowmem_notify_low_pages
lowmem_notify_high => lowmem_notify_high_pages
The following read only value disappears:
lowmem_used_pages
The following read only value is introduced:
lowmem_free_pages
The old value can be calculated from userspace with the following pseudocode:
if lowmem_free_pages < lowmem_allowed_pages
lowmem_used_pages = lowmem_allowed_pages - lowmem_free_pages
else
lowmem_used_pages = 0;
Note that the value of lowmem_free_pages is only accurate when the system is
rather low on memory (otherwise it's a bit too pessimistic), this was true also
for the lowmem_used_pages metric.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Viktor Rosendahl [Thu, 11 Sep 2008 16:20:34 +0000 (19:20 +0300)]
lowmem: remove unecessary usage of proc_dointvec_minmax()
As far as I can understand, using proc_dointvec_minmax() instead of
proc_dointvec only makes sense if you supply the min and/or max values in the
extra1 and extra2 fields of the struct.
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Henrik Saari [Thu, 11 Sep 2008 16:20:33 +0000 (19:20 +0300)]
Security: Kernel OOM-killer and allocation denial use different rules
Security: Kernel OOM-killer and allocation denial use different rules
Original patch created by Leonid Moiseichuk <leonid.moiseichuk@nokia.com>
Fixes the issue with the oom killer and lowmem module being inconsistent;
processes that are important enough to be protected from the oom killer should
not be denied memory either.
Signed-off-by: Henrik Saari <henrik.saari@nokia.com>
Signed-off-by: Viktor Rosendahl <viktor.rosendahl@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Thu, 11 Sep 2008 09:48:39 +0000 (02:48 -0700)]
twl4030: improve rtc device setup
Make the twl4030 RTC initialization follow the driver model better.
The platform device is created (if needed) as part of twl4030 setup
instead of as a board-specific thing, and fits properly into the
driver model tree.
The only minor glitch here is on boards using platform_data to pass
MSECURE initialization hooks to the RTC driver. The right solution
probably just removes that platform_data, and might even make Linux
follow the principle of "least privilege" (at the hardware level!)
instead of always holding this signal high.
Pending better handling of MSECURE, this patch just does what the
RTC init does, but earlier: MSECURE is always high, so the RTC time
and calendar registers can be updated (and presumably a bunch of
non-RTC privileged operations will be allowed too).
Yet to be done: set up the IRQ resource; make the rtc driver use
that IRQ resource; and properly issue wakeup alarms.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Thu, 11 Sep 2008 06:01:24 +0000 (23:01 -0700)]
mach-omap2: fix more arch_initcall() breakage
Remove more bogus arch_initcall() logic in mach-omap2/board-xyx.c files.
They broke a multi-OMAP build I did, at *RUN TIME* not build time, since
it tried to do the i2c init for every board linked in the kernel.
Remember, init_machine() entries run at arch_initcall() time; that's
where any board-specific init logic should normally go. Any initcalls
in the mach-*/*c files should normally be guarded by tests to make sure
they only run on the relevant hardware (board, cpu). Better yet, get
rid of the initcalls; init_machine() can *explicitly* call the right
version of that code, and pass in board-specific config data; and there
are hooks that can handle cpu-specific stuff too.
A quick glance suggests most of the remaining initcall logic in the
mach-omap2 directory is similarly broken... this patch gets rid of
one frequently-cloned idiom, it should help.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Peter 'p2' De Schrijver [Fri, 12 Sep 2008 10:32:36 +0000 (13:32 +0300)]
Fix build for beagleboard
Also add missing u8 data as noted by Felipe Balbi.
Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 12 Sep 2008 00:23:52 +0000 (17:23 -0700)]
ARM: OMAP: Clean-up MMC device init
Clean-up MMC device init:
- Initialize devices in mach-omap1/devices.c and mach-omap2/devices.c
instead of plat-omap/devices.c
- Remove old struct omap_mmc_config, use struct omap_mmc_platform_data instead
Note that this removes the second omap-hsmmc controller init for overo.
This needs to be fixed properly by changing hsmmc_init() to accept
board specific struct omap_mmc_platform_data.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 12 Sep 2008 00:05:32 +0000 (17:05 -0700)]
Sync MMC device code with arm devel branch
This is to sync with Russell's commit
7736c09c6cf9521f2413d78856a66f4a37046e84.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kalle Jokiniemi [Fri, 29 Aug 2008 10:05:44 +0000 (13:05 +0300)]
ARM:OMAP3: Smartreflex disable/enable fix
Smartreflex modules have to be disabled when device enters WFI.
Previously only suspend idle path had these calls. By moving the
disable/enable calls to omap_sram_idle, all idle paths will be covered.
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
A NAVEEN [Mon, 8 Sep 2008 06:11:57 +0000 (11:41 +0530)]
Patch for Touch Screen noise on OMAP3EVM.
When git kernel tree is used on a OMAP3EVM board file for touch screen
testing, it shows lot of jitter. With this patch the jitter can be
reduced.
Signed-off-by: Naveen Atmakuri <anaveen@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sergio Aguirre [Fri, 29 Aug 2008 23:34:17 +0000 (18:34 -0500)]
OMAP3 camera driver: OMAP34XXCAM: Camera Base Address.
ARM: OMAP: OMAP34XXCAM: Camera Base Address.
Adding OMAP 3 Camera registers base address, and Platform Device.
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Sameer Venkatraman <sameerv@ti.com>
Signed-off-by: Mohit Jalori <mjalori@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ext Peter 'p2' De Schrijver [Mon, 25 Aug 2008 10:31:17 +0000 (13:31 +0300)]
Load triton2 scripts.
This patch loads the triton2 (twl4030) with scripts that will cut off VDD1
and VDD2 voltages when SYS_OFF_MODE signal is set.
Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Lavinen [Mon, 18 Aug 2008 15:13:20 +0000 (18:13 +0300)]
MMC: Add sysfs file cover_switch
Add sysfs cover_switch with the status of cover.
Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Francisco Alecrim [Mon, 18 Aug 2008 15:13:19 +0000 (18:13 +0300)]
MMC: OMAP: Add slot_name entry to sysfs
Add slot_name entry to sysfs.
Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Lavinen [Mon, 18 Aug 2008 15:13:18 +0000 (18:13 +0300)]
MMC: OMAP: Re-organizing some goto at hsmmc probe
Re-organizing some goto at hsmmc probe.
Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Francisco Alecrim [Mon, 18 Aug 2008 15:13:17 +0000 (18:13 +0300)]
MMC: OMAP: Readable output for IRQ status register
Readable output for IRQ status register
Signed-off-by: Francisco Alecrim <francisco.alecrim@indt.org.br>
Acked-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Högander Jouni [Mon, 18 Aug 2008 15:13:15 +0000 (18:13 +0300)]
OMAP: HSMMC: Check wether board specific suspend / resume exists
Do not try to call board specific suspend / resume functions if there
is no such.
Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Madhusudhan Chikkature [Wed, 13 Aug 2008 06:13:30 +0000 (11:43 +0530)]
Enable 4-bit in HSMMC1 and HSMMC2 platform data
ARM: OMAP3: Enable 4-bit support for HSMMC.
This patch provides the fix to enable 4-bit support for HSMMC.
Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: purushotam<purushotam@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 2 Sep 2008 19:05:00 +0000 (12:05 -0700)]
tweak musb_hdrc SOC init code
Minor cleanups to omap 2430/34xx/35x musb_hdrc init:
- num_eps is 16; here, each one is bidirectional
- use DMA_32BIT_MASK to prevent confusion/errors
- initialize root port power to reflect 100 mA limit
This still hard-wires some board-specific data, since there
are no hooks through which different boards can provide the
right data to the init code.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Tue, 9 Sep 2008 16:58:02 +0000 (10:58 -0600)]
OMAP3 clock: remove extra init from csi2_96m_fck
csi2_96m_fck no longer should attempt to init its clockdomain pointer; the
clock framework now does this by default. Applies on top of the "Update
powerdomains and clockdomains" series sent earlier.
Verified on 3430SDP ES2.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Koen Kooi [Wed, 10 Sep 2008 23:33:39 +0000 (16:33 -0700)]
ARM: Fix Makefile to use -march=armv7-a
This seems to be the right naming and allows using vanilla gcc.
See also:
http://sourceware.org/ml/binutils/2006-12/msg00149.html
Signed-off-by: Koen Kooi <k.kooi@student.utwente.nl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 10 Sep 2008 23:25:10 +0000 (16:25 -0700)]
Remove L2 info from id.c
Now we have Catalin's cache patch applied, which should eventually
hit mainline at some point.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Catalin Marinas [Wed, 10 Sep 2008 23:23:55 +0000 (16:23 -0700)]
Show the cache type of ARMv7 CPUs
Show the cache type of ARMv7 CPUs
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Jason Marini [Thu, 28 Aug 2008 19:30:58 +0000 (15:30 -0400)]
ARM: OMAP: Fix occasional i2c driver hang
The i2c driver contains a while loop that has no timeout. If i2c is in a
funky state and OMAP_I2C_CON_STT remains asserted, the kernel hangs. Insert
the standard i2c timeout into the loop.
Signed-off-by: Jason P Marini <jason.marini@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arun c [Tue, 9 Sep 2008 07:43:31 +0000 (03:43 -0400)]
omapfb: remove wrong scale call for gfx_plane
The gfx_plane doesn't support scaling.
Signed-off-by: Arun C <arunedarath@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
stanley.miao [Mon, 8 Sep 2008 03:29:57 +0000 (11:29 +0800)]
ARM: OMAP3: Fix omapfb's problem on OMAP3430sdp
Prune off a empty line.
Fix omapfb's problem on OMAP3430sdp.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Arun KS [Tue, 9 Sep 2008 07:40:59 +0000 (13:10 +0530)]
This patch fixes the typo which breaks the build on OMAP1
Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 10 Sep 2008 17:27:10 +0000 (10:27 -0700)]
Merge current mainline tree into linux-omap tree
Merge branches 'master' and 'linus'
Conflicts:
arch/arm/mach-omap1/mcbsp.c
arch/arm/mach-omap2/mcbsp.c
arch/arm/plat-omap/include/mach/mcbsp.h
arch/arm/plat-omap/mcbsp.c
Linus Torvalds [Tue, 9 Sep 2008 23:27:49 +0000 (16:27 -0700)]
Linux 2.6.27-rc6
Linus Torvalds [Tue, 9 Sep 2008 23:25:58 +0000 (16:25 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
ipv6: Fix OOPS in ip6_dst_lookup_tail().
ipsec: Restore larval states and socket policies in dump
[Bluetooth] Reject L2CAP connections on an insecure ACL link
[Bluetooth] Enforce correct authentication requirements
[Bluetooth] Fix reference counting during ACL config stage
Linus Torvalds [Tue, 9 Sep 2008 23:25:02 +0000 (16:25 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Disable timer interrupts in fixup_irqs().
Neil Horman [Tue, 9 Sep 2008 20:51:35 +0000 (13:51 -0700)]
ipv6: Fix OOPS in ip6_dst_lookup_tail().
This fixes kernel bugzilla 11469: "TUN with 1024 neighbours:
ip6_dst_lookup_tail NULL crash"
dst->neighbour is not necessarily hooked up at this point
in the processing path, so blindly dereferencing it is
the wrong thing to do. This NULL check exists in other
similar paths and this case was just an oversight.
Also fix the completely wrong and confusing indentation
here while we're at it.
Based upon a patch by Evgeniy Polyakov.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Tue, 9 Sep 2008 20:47:01 +0000 (13:47 -0700)]
Merge branch 'timers-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
clockevents: remove WARN_ON which was used to gather information
Tony Lindgren [Tue, 9 Sep 2008 20:42:19 +0000 (13:42 -0700)]
Sync gpio changes from mainline
This is to be in sync with Russell's commit
7c7095aa423b9b14038abc08fba84b9d7a33d643.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 9 Sep 2008 20:38:38 +0000 (13:38 -0700)]
Sync changes for hardware.h from mainline
This is to be in sync with Russell's commit
0062f1048bb6c80d66d55034b49b3d733acc4e3a.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 9 Sep 2008 20:31:27 +0000 (13:31 -0700)]
Sync io.h changes from mainline
This is to be in sync with Russell's patch
690b5a13b27ba3bb2c9d61c1f4018c5074b591e6.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Gleixner [Tue, 9 Sep 2008 19:38:57 +0000 (21:38 +0200)]
clockevents: remove WARN_ON which was used to gather information
The issue of the endless reprogramming loop due to a too small
min_delta_ns was fixed with the previous updates of the clock events
code, but we had no information about the spread of this problem. I
added a WARN_ON to get automated information via kerneloops.org and to
get some direct reports, which allowed me to analyse the affected
machines.
The WARN_ON has served its purpose and would be annoying for a release
kernel. Remove it and just keep the information about the increase of
the min_delta_ns value.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Linus Torvalds [Tue, 9 Sep 2008 19:23:41 +0000 (12:23 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: fix memmap=exactmap boot argument
x86: disable static NOPLs on 32 bits
xen: fix 2.6.27-rc5 xen balloon driver warnings
Prarit Bhargava [Tue, 9 Sep 2008 13:56:08 +0000 (09:56 -0400)]
x86: fix memmap=exactmap boot argument
When using kdump modifying the e820 map is yielding strange results.
For example starting with
BIOS-provided physical RAM map:
BIOS-e820:
0000000000000100 -
0000000000093400 (usable)
BIOS-e820:
0000000000093400 -
00000000000a0000 (reserved)
BIOS-e820:
0000000000100000 -
000000003fee0000 (usable)
BIOS-e820:
000000003fee0000 -
000000003fef3000 (ACPI data)
BIOS-e820:
000000003fef3000 -
000000003ff80000 (ACPI NVS)
BIOS-e820:
000000003ff80000 -
0000000040000000 (reserved)
BIOS-e820:
00000000e0000000 -
00000000f0000000 (reserved)
BIOS-e820:
00000000fec00000 -
00000000fec10000 (reserved)
BIOS-e820:
00000000fee00000 -
00000000fee01000 (reserved)
BIOS-e820:
00000000ff000000 -
0000000100000000 (reserved)
and booting with args
memmap=exactmap memmap=640K@0K memmap=5228K@16384K memmap=125188K@22252K memmap=76K#1047424K memmap=564K#1047500K
resulted in:
user-defined physical RAM map:
user:
0000000000000000 -
0000000000093400 (usable)
user:
0000000000093400 -
00000000000a0000 (reserved)
user:
0000000000100000 -
000000003fee0000 (usable)
user:
000000003fee0000 -
000000003fef3000 (ACPI data)
user:
000000003fef3000 -
000000003ff80000 (ACPI NVS)
user:
000000003ff80000 -
0000000040000000 (reserved)
user:
00000000e0000000 -
00000000f0000000 (reserved)
user:
00000000fec00000 -
00000000fec10000 (reserved)
user:
00000000fee00000 -
00000000fee01000 (reserved)
user:
00000000ff000000 -
0000000100000000 (reserved)
But should have resulted in:
user-defined physical RAM map:
user:
0000000000000000 -
00000000000a0000 (usable)
user:
0000000001000000 -
000000000151b000 (usable)
user:
00000000015bb000 -
0000000008ffc000 (usable)
user:
000000003fee0000 -
000000003ff80000 (ACPI data)
This is happening because of an improper usage of strcmp() in the
e820 parsing code. The strcmp() always returns !0 and never resets the
value for e820.nr_map and returns an incorrect user-defined map.
This patch fixes the problem.
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Linus Torvalds [Tue, 9 Sep 2008 18:53:05 +0000 (11:53 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] cio: allow offline processing for disconnected devices
[S390] cio: handle ssch() return codes correctly.
[S390] cio: Correct cleanup on error.
[S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode
Linus Torvalds [Tue, 9 Sep 2008 18:52:34 +0000 (11:52 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] IP22: Fix detection of second HPC3 on Challenge S
Linus Torvalds [Tue, 9 Sep 2008 18:52:12 +0000 (11:52 -0700)]
Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6
* 'linux-next' of git://git.infradead.org/~dedekind/ubifs-2.6:
UBIFS: make minimum fanout 3
UBIFS: fix division by zero
UBIFS: amend f_fsid
UBIFS: fill f_fsid
UBIFS: improve statfs reporting even more
UBIFS: introduce LEB overhead
UBIFS: add forgotten gc_idx_lebs component
UBIFS: fix assertion
UBIFS: improve statfs reporting
UBIFS: remove incorrect index space check
UBIFS: push empty flash hack down
UBIFS: do not update min_idx_lebs in stafs
UBIFS: allow for racing between GC and TNC
UBIFS: always read hashed-key nodes under TNC mutex
UBIFS: fix zero-length truncations
James Bottomley [Thu, 4 Sep 2008 01:43:36 +0000 (20:43 -0500)]
lib: Correct printk %pF to work on all architectures
It was introduced by "vsprintf: add support for '%pS' and '%pF' pointer
formats" in commit
0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2. However,
the current way its coded doesn't work on parisc64. For two reasons: 1)
parisc isn't in the #ifdef and 2) parisc has a different format for
function descriptors
Make dereference_function_descriptor() more accommodating by allowing
architecture overrides. I put the three overrides (for parisc64, ppc64
and ia64) in arch/kernel/module.c because that's where the kernel
internal linker which knows how to deal with function descriptors sits.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Tony Luck <tony.luck@intel.com>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Chris Snook [Tue, 9 Sep 2008 07:26:57 +0000 (03:26 -0400)]
MAINTAINERS: add Atheros maintainer for atlx
Jie Yang at Atheros is getting more directly involved with upstream work
on the atl* drivers. This patch changes the ATL1 entry to ATLX (atl2
support posted to netdev today) and adds him as a maintainer.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Christoph Hellwig [Tue, 9 Sep 2008 18:02:01 +0000 (20:02 +0200)]
update Documentation/filesystems/Locking for 2.6.27 changes
In the 2.6.27 circle ->fasync lost the BKL, and the last remaining
->open variant that takes the BKL is also gone. ->get_sb and ->kill_sb
didn't have BKL forever, so updated the entries while we're at that.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Tony Lindgren [Tue, 9 Sep 2008 17:40:43 +0000 (10:40 -0700)]
I2C: Initiallize func_cb to NULL
As pointed out by Adrian Hunter.
Signed-off-by: Tony Lindren <tony@atomide.com>
Jagadeesh Bhaskar Pakaravoor [Fri, 5 Sep 2008 09:24:46 +0000 (14:54 +0530)]
rtc-twl4030: Fix periodic interrupt
RTC generates an extra spurious interrupt for every actual periodic
interrupt. This is due to a problem with the RTC_IT bit of
REG_PWR_ISR1. It requires two writes or two reads (when COR is
enabled) to clear it. Since COR is enabled and one read of the same
register is done already (inside twl4030-pwrirq.c do_twl4030_pwrirq()
function), we can do away with a need to add one more write into the
same register inside the interrupt handler, by replacing the write
currently present with just one extra read.
Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Thu, 4 Sep 2008 17:24:17 +0000 (10:24 -0700)]
rtc-twl4030 cleanup
Some rtc-twl4030 cleanup, which among other things adds up to
using about 10% less object code:
- Remove:
* broken/unfixable "periodic" IRQ support (2^N Hz)
* duplicated constants in the header file
* pointless stuff:
+ support for settable epoch
+ memset() calls
+ indirection when reading time and alarm
+ indirection when enabling irqs
* needless ifdeffery for reading irq enable register
- IRQ updates:
* group irq enable/disable utilities together
* cache irq enable register
* now disable any old alarm irq before setting alarm
- Comment updates
* fix up my copyright attribution (old omap1 code)
* more correctly describe the rtc mask/set ops
* have a single place describe the register vs tm_* differences
- Other:
* don't support "current" dates in the 20th century
* switch over to bcd2bin()/bin2bcd()
* prefer dev_err() and better messages to printk(KERN_ERR...)
* correct some KERN_WARNING messages (should have been pr_err)
* whitespace bugs
* misc
The bugs fixed here are removing "periodic" IRQ support, and
some of the messaging. Update IRQs still misbehave (two per
second, not one!), and the alarm isn't wake-enabled.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 9 Sep 2008 15:24:26 +0000 (08:24 -0700)]
Revert some merge-errors
As pointed out by Russell King.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Herbert Xu [Tue, 9 Sep 2008 12:23:37 +0000 (05:23 -0700)]
ipsec: Restore larval states and socket policies in dump
The commit commit
4c563f7669c10a12354b72b518c2287ffc6ebfb3 ("[XFRM]:
Speed up xfrm_policy and xfrm_state walking") inadvertently removed
larval states and socket policies from netlink dumps. This patch
restores them.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Peter Oberparleiter [Tue, 9 Sep 2008 10:38:59 +0000 (12:38 +0200)]
[S390] cio: allow offline processing for disconnected devices
When disconnected ccw devices are removed, the device has to be set
offline, otherwise there will be side effects including a reference
count imbalance. This patch modifies ccw_device_offline to work for
devices in disconnecte/not operational state. ccw_device_offline is
called by cio for devices which are online during device removal.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Tue, 9 Sep 2008 10:38:58 +0000 (12:38 +0200)]
[S390] cio: handle ssch() return codes correctly.
ssch() has two classes of return codes:
- condition codes (0-3) which need to be translated to Linux
error codes
- Linux error codes (-EIO on exceptions) which should be passed
to the caller (instead of erronously being handled like
condition code 3)
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Tue, 9 Sep 2008 10:38:57 +0000 (12:38 +0200)]
[S390] cio: Correct cleanup on error.
Fix cleanup on error in chp_new() and init_channel_subsystem()
(must not call kfree() on structures that had been registered).
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Jarod Wilson [Tue, 9 Sep 2008 10:38:56 +0000 (12:38 +0200)]
[S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit mode
When running a 31-bit ptrace, on either an s390 or s390x kernel,
reads and writes into a padding area in struct user_regs_struct32
will result in a kernel panic.
This is also known as CVE-2008-1514.
Test case available here:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/user-area-padding.c?cvsroot=systemtap
Steps to reproduce:
1) wget the above
2) gcc -o user-area-padding-31bit user-area-padding.c -Wall -ggdb2 -D_GNU_SOURCE -m31
3) ./user-area-padding-31bit
<panic>
Test status
-----------
Without patch, both s390 and s390x kernels panic. With patch, the test case,
as well as the gdb testsuite, pass without incident, padding area reads
returning zero, writes ignored.
Nb: original version returned -EINVAL on write attempts, which broke the
gdb test and made the test case slightly unhappy, Jan Kratochvil suggested
the change to return 0 on write attempts.
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
David S. Miller [Tue, 9 Sep 2008 09:11:11 +0000 (02:11 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/holtmann/bluetooth-2.6
Marcel Holtmann [Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)]
[Bluetooth] Reject L2CAP connections on an insecure ACL link
The Security Mode 4 of the Bluetooth 2.1 specification has strict
authentication and encryption requirements. It is the initiators job
to create a secure ACL link. However in case of malicious devices, the
acceptor has to make sure that the ACL is encrypted before allowing
any kind of L2CAP connection. The only exception here is the PSM 1 for
the service discovery protocol, because that is allowed to run on an
insecure ACL link.
Previously it was enough to reject a L2CAP connection during the
connection setup phase, but with Bluetooth 2.1 it is forbidden to
do any L2CAP protocol exchange on an insecure link (except SDP).
The new hci_conn_check_link_mode() function can be used to check the
integrity of an ACL link. This functions also takes care of the cases
where Security Mode 4 is disabled or one of the devices is based on
an older specification.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)]
[Bluetooth] Enforce correct authentication requirements
With the introduction of Security Mode 4 and Simple Pairing from the
Bluetooth 2.1 specification it became mandatory that the initiator
requires authentication and encryption before any L2CAP channel can
be established. The only exception here is PSM 1 for the service
discovery protocol (SDP). It is meant to be used without any encryption
since it contains only public information. This is how Bluetooth 2.0
and before handle connections on PSM 1.
For Bluetooth 2.1 devices the pairing procedure differentiates between
no bonding, general bonding and dedicated bonding. The L2CAP layer
wrongly uses always general bonding when creating new connections, but it
should not do this for SDP connections. In this case the authentication
requirement should be no bonding and the just-works model should be used,
but in case of non-SDP connection it is required to use general bonding.
If the new connection requires man-in-the-middle (MITM) protection, it
also first wrongly creates an unauthenticated link key and then later on
requests an upgrade to an authenticated link key to provide full MITM
protection. With Simple Pairing the link key generation is an expensive
operation (compared to Bluetooth 2.0 and before) and doing this twice
during a connection setup causes a noticeable delay when establishing
a new connection. This should be avoided to not regress from the expected
Bluetooth 2.0 connection times. The authentication requirements are known
up-front and so enforce them.
To fulfill these requirements the hci_connect() function has been extended
with an authentication requirement parameter that will be stored inside
the connection information and can be retrieved by userspace at any
time. This allows the correct IO capabilities exchange and results in
the expected behavior.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Tue, 9 Sep 2008 05:19:19 +0000 (07:19 +0200)]
[Bluetooth] Fix reference counting during ACL config stage
The ACL config stage keeps holding a reference count on incoming
connections when requesting the extended features. This results in
keeping an ACL link up without any users. The problem here is that
the Bluetooth specification doesn't define an ownership of the ACL
link and thus it can happen that the implementation on the initiator
side doesn't care about disconnecting unused links. In this case the
acceptor needs to take care of this.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
David Brownell [Sun, 31 Aug 2008 21:19:05 +0000 (14:19 -0700)]
omap2_nand updates
Minor updates to the OMAP{2,3} NAND driver:
- Rename those buffer PIO routines as *_buf16()
- Get rid of pointless LE16 data conversions; OMAP is always LE
- Speed up buffer reads by switching to __raw_readsl()
Right now this driver only handles 16-bit NAND, but eventually it
should handle 8-bit too. Moreover it may be worth using DMA...
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Sun, 7 Sep 2008 06:41:44 +0000 (23:41 -0700)]
ARM: OMAP2: defconfig for the Gumstix Overo board (rev 3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Sun, 7 Sep 2008 06:41:43 +0000 (23:41 -0700)]
ALSA: ASoC: Add support for Gumstix Overo (rev 3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Mon, 8 Sep 2008 21:41:39 +0000 (14:41 -0700)]
ALSA: ASoC: Add support for TWL4030 audio codec (rev 4)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Sun, 7 Sep 2008 06:41:41 +0000 (23:41 -0700)]
ARM: OMAP2: Add video driver the Gumstix Overo board (rev 3)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Sun, 7 Sep 2008 06:41:40 +0000 (23:41 -0700)]
ARM: OMAP2: Add support for the Gumstix Overo board (rev 3)
This patch adds support for basic features: nand, uarts, i2c,
mmc, rtc, and usb
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Mon, 8 Sep 2008 10:29:44 +0000 (13:29 +0300)]
ASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Mon, 8 Sep 2008 10:29:43 +0000 (13:29 +0300)]
ARM: OMAP: Add support for OMAP2430 in McBSP
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 9 Sep 2008 00:35:42 +0000 (17:35 -0700)]
ARM: OMAP: Update GPMC code for ioremap
Update GPMC code for ioremap
Signed-off-by: Tony Lindgren <tony@atomide.com>
David S. Miller [Tue, 9 Sep 2008 00:21:07 +0000 (17:21 -0700)]
sparc64: Disable timer interrupts in fixup_irqs().
When a CPU is offlined, we leave the timer interrupts disabled
because fixup_irqs() does not explicitly take care of that case.
Fix this by invoking tick_ops->disable_irq().
Based upon analysis done by Paul E. McKenney.
Signed-off-by: David S. Miller <davem@davemloft.net>
Russell King [Fri, 5 Sep 2008 14:13:24 +0000 (15:13 +0100)]
omap: fix a load of "warning: symbol 'xxx' was not declared. Should it be static?"
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 8 Sep 2008 23:26:35 +0000 (16:26 -0700)]
omap: fix lots of 'Using plain integer as NULL pointer'
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Conflicts:
arch/arm/mach-omap2/clock.c
Russell King [Fri, 5 Sep 2008 14:49:14 +0000 (15:49 +0100)]
[ARM] omap: fix inappropriate casting in gpio.c
gpio.c wilfully casts physical addresses to void __iomem * and then
fixes them up at runtime using:
bank->base = IO_ADDRESS(bank->base);
where accesses prior to this fixup are via omap_read/omap_write, and
after are by __raw_read/__raw_write. This doesn't lend itself to
static checking, nor to easy understanding of the code.
And so, OMAP_MPUIO_BASE gets to be the right type - integer like since
it's a physical address, not a MMIO pointer.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Fri, 5 Sep 2008 14:46:19 +0000 (15:46 +0100)]
[ARM] omap: DSP registers don't need to be casted
We're now assigning/comparing void __iomem pointers with
void __iomem pointer variables.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Mon, 8 Sep 2008 22:55:18 +0000 (15:55 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/hskinnemoen/avr32-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
avr32: pm_standby low-power ram bug fix
avr32: Fix lockup after Java stack underflow in user mode
Linus Torvalds [Mon, 8 Sep 2008 22:54:32 +0000 (15:54 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
powerpc: Fix rare boot build breakage
powerpc/spufs: Fix possible scheduling of a context to multiple SPEs
powerpc/spufs: Fix race for a free SPU
powerpc/spufs: Fix multiple get_spu_context()
Linus Torvalds [Mon, 8 Sep 2008 22:51:12 +0000 (15:51 -0700)]
Merge git://git./linux/kernel/git/herbert/crypto-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
Revert "crypto: camellia - Use kernel-provided bitops, unaligned access helpers"
Linus Torvalds [Mon, 8 Sep 2008 22:50:19 +0000 (15:50 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5241/1: provide ioremap_wc()
[ARM] omap: fix virtual vs physical address space confusions
[ARM] remove unused #include <version.h>
[ARM] omap: fix build error in ohci-omap.c
[ARM] omap: fix gpio.c build error
Linus Torvalds [Mon, 8 Sep 2008 22:47:21 +0000 (15:47 -0700)]
Merge branch 'sched-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sched: arch_reinit_sched_domains() must destroy domains to force rebuild
sched, cpuset: rework sched domains and CPU hotplug handling (v4)
Linus Torvalds [Mon, 8 Sep 2008 22:46:56 +0000 (15:46 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs
pata_sil680: remove duplicate pcim_enable_device
libata-sff: kill spurious WARN_ON() in ata_hsm_move()
sata_nv: disable hardreset for generic
ahci: disable PMP for marvell ahcis
sata_mv: add RocketRaid 1720 PCI ID to driver
ahci, pata_marvell: play nicely together
Uwe Kleine-König [Mon, 8 Sep 2008 22:11:39 +0000 (00:11 +0200)]
Fix format of MAINTAINERS
... one entry lacked a colon which broke one of my scripts.
Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 8 Sep 2008 22:43:44 +0000 (15:43 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
bridge: don't allow setting hello time to zero
netns : fix kernel panic in timewait socket destruction
pkt_sched: Fix qdisc state in net_tx_action()
netfilter: nf_conntrack_irc: make sure string is terminated before calling simple_strtoul
netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet
netfilter: nf_conntrack_gre: more locking around keymap list
netfilter: nf_conntrack_sip: de-static helper pointers
Linus Torvalds [Mon, 8 Sep 2008 22:43:02 +0000 (15:43 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Prevent sparc64 from invoking irq handlers on offline CPUs
sparc64: Fix IPI call locking.
Jason Wessel [Mon, 8 Sep 2008 13:53:37 +0000 (14:53 +0100)]
usb: fix null deferences in low level usb serial
The hw interface drivers for the usb serial devices deference the tty
structure to set up the parameters for the initial console. The tty
structure should be passed as a parameter to the set_termios() call.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Chuck Lever [Mon, 8 Sep 2008 15:58:13 +0000 (11:58 -0400)]
NFS: Restore missing hunk in NFS mount option parser
Automounter maps can contain mount options valid for other NFS
implementations but not for Linux. The Linux automounter uses the
mount command's "-s" command line option ("s" for "sloppy") so that
mount requests containing such options are not rejected.
Commit
f45663ce5fb30f76a3414ab3ac69f4dd320e760a attempted to address a
known regression with text-based NFS mount option parsing. Unrecognized
mount options would cause mount requests to fail, even if the "-s"
option was used on the mount command line.
Unfortunately, this commit was not complete as submitted. It adds a
new mount option, "sloppy". But it is missing a hunk, so it now allows
NFS mounts with unrecognized mount options, even if the "sloppy" option
is not present. This could be a problem if a required critical mount
option such as "sync" is misspelled, for example, and is considered a
regression from 2.6.26.
This patch restores the missing hunk. Now, the default behavior of
text-based NFS mount options is as before: any unrecognized mount option
will cause the mount to fail.
Please include this in 2.6.27-rc.
Thanks to Neil Brown for reporting this.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Stephen Hemminger [Mon, 8 Sep 2008 20:44:40 +0000 (13:44 -0700)]
bridge: don't allow setting hello time to zero
Dushan Tcholich reports that on his system ksoftirqd can consume
between %6 to %10 of cpu time, and cause ~200 context switches per
second.
He then correlated this with a report by bdupree@techfinesse.com:
http://marc.info/?l=linux-kernel&m=
119613299024398&w=2
and the culprit cause seems to be starting the bridge interface.
In particular, when starting the bridge interface, his scripts
are specifying a hello timer interval of "0".
The bridge hello time can't be safely set to values less than 1
second, otherwise it is possible to end up with a runaway timer.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Daniel Lezcano [Mon, 8 Sep 2008 20:17:27 +0000 (13:17 -0700)]
netns : fix kernel panic in timewait socket destruction
How to reproduce ?
- create a network namespace
- use tcp protocol and get timewait socket
- exit the network namespace
- after a moment (when the timewait socket is destroyed), the kernel
panics.
# BUG: unable to handle kernel NULL pointer dereference at
0000000000000007
IP: [<
ffffffff821e394d>] inet_twdr_do_twkill_work+0x6e/0xb8
PGD
119985067 PUD
11c5c0067 PMD 0
Oops: 0000 [1] SMP
CPU 1
Modules linked in: ipv6 button battery ac loop dm_mod tg3 libphy ext3 jbd
edd fan thermal processor thermal_sys sg sata_svw libata dock serverworks
sd_mod scsi_mod ide_disk ide_core [last unloaded: freq_table]
Pid: 0, comm: swapper Not tainted 2.6.27-rc2 #3
RIP: 0010:[<
ffffffff821e394d>] [<
ffffffff821e394d>]
inet_twdr_do_twkill_work+0x6e/0xb8
RSP: 0018:
ffff88011ff7fed0 EFLAGS:
00010246
RAX:
ffffffffffffffff RBX:
ffffffff82339420 RCX:
ffff88011ff7ff30
RDX:
0000000000000001 RSI:
ffff88011a4d03c0 RDI:
ffff88011ac2fc00
RBP:
ffffffff823392e0 R08:
0000000000000000 R09:
ffff88002802a200
R10:
ffff8800a5c4b000 R11:
ffffffff823e4080 R12:
ffff88011ac2fc00
R13:
0000000000000001 R14:
0000000000000001 R15:
0000000000000000
FS:
0000000041cbd940(0000) GS:
ffff8800bff839c0(0000)
knlGS:
0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0:
000000008005003b
CR2:
0000000000000007 CR3:
00000000bd87c000 CR4:
00000000000006e0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Process swapper (pid: 0, threadinfo
ffff8800bff9e000, task
ffff88011ff76690)
Stack:
ffffffff823392e0 0000000000000100 ffffffff821e3a3a
0000000000000008
0000000000000000 ffffffff821e3a61 ffff8800bff7c000 ffffffff8203c7e7
ffff88011ff7ff10 ffff88011ff7ff10 0000000000000021 ffffffff82351108
Call Trace:
<IRQ> [<
ffffffff821e3a3a>] ? inet_twdr_hangman+0x0/0x9e
[<
ffffffff821e3a61>] ? inet_twdr_hangman+0x27/0x9e
[<
ffffffff8203c7e7>] ? run_timer_softirq+0x12c/0x193
[<
ffffffff820390d1>] ? __do_softirq+0x5e/0xcd
[<
ffffffff8200d08c>] ? call_softirq+0x1c/0x28
[<
ffffffff8200e611>] ? do_softirq+0x2c/0x68
[<
ffffffff8201a055>] ? smp_apic_timer_interrupt+0x8e/0xa9
[<
ffffffff8200cad6>] ? apic_timer_interrupt+0x66/0x70
<EOI> [<
ffffffff82011f4c>] ? default_idle+0x27/0x3b
[<
ffffffff8200abbd>] ? cpu_idle+0x5f/0x7d
Code: e8 01 00 00 4c 89 e7 41 ff c5 e8 8d fd ff ff 49 8b 44 24 38 4c 89 e7
65 8b 14 25 24 00 00 00 89 d2 48 8b 80 e8 00 00 00 48 f7 d0 <48> 8b 04 d0
48 ff 40 58 e8 fc fc ff ff 48 89 df e8 c0 5f 04 00
RIP [<
ffffffff821e394d>] inet_twdr_do_twkill_work+0x6e/0xb8
RSP <
ffff88011ff7fed0>
CR2:
0000000000000007
This patch provides a function to purge all timewait sockets related
to a network namespace. The timewait sockets life cycle is not tied with
the network namespace, that means the timewait sockets stay alive while
the network namespace dies. The timewait sockets are for avoiding to
receive a duplicate packet from the network, if the network namespace is
freed, the network stack is removed, so no chance to receive any packets
from the outside world. Furthermore, having a pending destruction timer
on these sockets with a network namespace freed is not safe and will lead
to an oops if the timer callback which try to access data belonging to
the namespace like for example in:
inet_twdr_do_twkill_work
-> NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);
Purging the timewait sockets at the network namespace destruction will:
1) speed up memory freeing for the namespace
2) fix kernel panic on asynchronous timewait destruction
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: Denis V. Lunev <den@openvz.org>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Fri, 5 Sep 2008 16:30:14 +0000 (09:30 -0700)]
x86: disable static NOPLs on 32 bits
On 32-bit, at least the generic nops are fairly reasonable, but the
default nops for 64-bit really look pretty sad, and the P6 nops really do
look better.
So I would suggest perhaps moving the static P6 nop selection into the
CONFIG_X86_64 thing.
The alternative is to just get rid of that static nop selection, and just
have two cases: 32-bit and 64-bit, and just pick obviously safe cases for
them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Jeremy Fitzhardinge [Mon, 8 Sep 2008 16:54:49 +0000 (09:54 -0700)]
xen: fix 2.6.27-rc5 xen balloon driver warnings
Set the class so it doesn't clash with the normal memory class.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
===================================================================
Thomas Bogendoerfer [Thu, 4 Sep 2008 21:05:45 +0000 (23:05 +0200)]
[MIPS] IP22: Fix detection of second HPC3 on Challenge S
The second HPC3 could be found only on Guiness systems (Challenge-S),
but not on fullhouse (Indigo2) systems.
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>