]> Git Repo - linux.git/log
linux.git
15 years agoOMAP: dma_chan[lch_head].flag & OMAP_DMA_ACTIVE tested twice in omap_dma_unlink_lch()
Roel Kluin [Thu, 14 Jan 2010 02:10:29 +0000 (18:10 -0800)]
OMAP: dma_chan[lch_head].flag & OMAP_DMA_ACTIVE tested twice in omap_dma_unlink_lch()

The same flag and bits were tested twice.

Signed-off-by: Roel Kluin <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
15 years agoomap3: Fix cpu detection
Tony Lindgren [Tue, 19 Jan 2010 23:40:26 +0000 (15:40 -0800)]
omap3: Fix cpu detection

We need to set the omap_chip.oc carefully for the clocks to work.

To fix this, set the omap_chip.oc in omap3_check_features() based
on the CONTROL_IDCODE and silicon revision registers.

Also add handling for 34xx es3.1.2 as es3.1 for now.

Fixes booting on at least overo board.

Based on an earlier patch by Paul Walmsley <[email protected]>.

Signed-off-by: Paul Walmsley <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
15 years agoomap: Fix functions for dynamic remuxing of pins
Tony Lindgren [Tue, 19 Jan 2010 23:15:24 +0000 (15:15 -0800)]
omap: Fix functions for dynamic remuxing of pins

Make the omap_mux_read and write available for board code,
and rename omap_mux_set_board_signals into omap_mux_write_array.
Also add the related prototypes and comments into mux.h.

In some cases we want to change the signals dynamically,
mostly for power management.

Note that we cannot use the signal names as they are set
__init to save memory.

Signed-off-by: Tony Lindgren <[email protected]>
15 years agoomap: Fix cmdline muxing
Tony Lindgren [Wed, 20 Jan 2010 02:17:07 +0000 (18:17 -0800)]
omap: Fix cmdline muxing

Looks like cmdline muxing got broken at some point when we
decided to limit muxing to __init code. Currently omap_mux_entry
list is not yet initialized when we try to initialize cmdline
muxing.

Fix this by calling omap_mux_init_list() before calling
omap_mux_set_cmdline_signals().

Reported-by: Philip Balister <[email protected]>
Tested-by: Philip Balister <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
15 years agoOMAP3: clock: Remove unnecessarily .init initializers from OMAP3 clocks
Russell King [Wed, 20 Jan 2010 00:30:52 +0000 (17:30 -0700)]
OMAP3: clock: Remove unnecessarily .init initializers from OMAP3 clocks

The first thing that omap2_init_clksel_parent() does is check for
a non-zero .clksel field in the struct clk.  Therefore, it is
pointless calling this function on clocks where the clksel field
is unset.

Remove init calls to omap2_init_clksel_parent() on clocks without
a clksel field.

Signed-off-by: Russell King <[email protected]>
Signed-off-by: Paul Walmsley <[email protected]>
15 years agoOMAP3: hwmod: Adding flag to prevent caching of sysconfig register.
Thara Gopinath [Wed, 20 Jan 2010 00:30:51 +0000 (17:30 -0700)]
OMAP3: hwmod: Adding flag to prevent caching of sysconfig register.

In the current implementation the sysconfig value is read into
 _sysc_cache once and an actual update to the sysconfig register
happens only if the new value paased is differnt from the one in _sysc_cache.
_sysc_cache is updated only if _HWMOD_SYSCONFIG_LOADED is not set.
This can lead to the follwing issue if off mode is enabled in modules
which employs "always-retore" mechanism of context save and restore.

        a. The module sets the sysconfig register through omap_device_enable.
           Here _sysc_cache is updated with the value written to the sysconfig
           register and left.
        b. The power domain containig the module enters off mode and the
           module context is lost.
        c. The module in use becomes active and calls omap_device_enable to
           enable itself. Here a read of sysconfig register does not happen
           as _HWMOD_SYSCONFIG_LOADED flag is set. The value to be written
           to the sysconfig register will be same as the one written in step a.
           Since _sysc_cache reflects the previous written value an update
           of the sysconfig register does not happen.
This means in modules which employs "always-restore" mechanism
after off , the sysconfig regsiters will never get updated.

This patch introduces a flag SYSC_NO_CACHE which if set ensures that the
sysconfig register is always read into _sysc_cache before an update is
attempted.

This flags need to be set only by modules which does not do a context save
but re-initializes the registers every time the module is accessed. This
includes modules like i2c, smartreflex etc.

Signed-off-by: Thara Gopinath <[email protected]>
[[email protected]: tweaked to apply on a different head, added flag comment]
Signed-off-by: Paul Walmsley <[email protected]>
15 years agoARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7...
Tony Lindgren [Tue, 19 Jan 2010 22:42:08 +0000 (23:42 +0100)]
ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments

The comments in cacheflush.h should follow what's in
struct cpu_cache_fns. The comments for V6 and V7 are
unnecessary.

Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agonetlink: With opcode INET_DIAG_BC_S_LE dport was compared in inet_diag_bc_run()
Roel Kluin [Tue, 19 Jan 2010 22:12:20 +0000 (14:12 -0800)]
netlink: With opcode INET_DIAG_BC_S_LE dport was compared in inet_diag_bc_run()

The s-port should be compared.

Signed-off-by: Roel Kluin <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years ago[WATCHDOG] ixp2000: Fix build failure caused by missing include
Peter Huewe [Thu, 7 Jan 2010 02:35:49 +0000 (03:35 +0100)]
[WATCHDOG] ixp2000: Fix build failure caused by missing include

This patch fixes a build failure[1] caused by the missing include of
timer.h and thus fixes the build failure.

Notably the build failure existed since October 2009! [2]

References:
[1] http://kisskb.ellerman.id.au/kisskb/buildresult/1983339/
[2] http://kisskb.ellerman.id.au/kisskb/buildresult/1351737/

Signed-off-by: Peter Huewe <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
15 years agoS2io: two branches the same in wait_for_cmd_complete()
Ram Vepa [Tue, 19 Jan 2010 20:36:20 +0000 (12:36 -0800)]
S2io: two branches the same in wait_for_cmd_complete()

Fix check to verify if a register bit is set. We have not hit this bug because
wait_for_cmd_complete() is always called with S2IO_BIT_RESET.
Reported by Roel Kluin <[email protected]>.

Signed-off-by: Ram Vepa <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work
Tony Lindgren [Tue, 19 Jan 2010 16:01:33 +0000 (17:01 +0100)]
ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work

The comments in arm_machine_restart() suggest that cpu_proc_fin()
will clean and disable cache and turn off interrupts. This does
not seem to be implemented for proc-v7.S, implement it the same
way as for proc-v6.S.

This also makes kexec work for v7. Note that a related TLB and
branch traget flush patch is also needed to avoid kexec
"crc error".

Note that there are still some issues that seem to be related
to L2 cache being on and causing occasional uncompress "crc error"
with kexec. Anyways, this gets kexec mostly working on V7 for now.

Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agoARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot()
Tony Lindgren [Tue, 19 Jan 2010 15:42:12 +0000 (16:42 +0100)]
ARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot()

We need to do that if we tinker with the MMU entries.

This fixes the occasional bug with kexec where the new
fails to uncompress with "crc error". Most likely at
least kexec on v6 and v7 need this fix.

Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agoARM: 5884/1: arm: Fix DCC console for v7
Tony Lindgren [Tue, 19 Jan 2010 15:40:07 +0000 (16:40 +0100)]
ARM: 5884/1: arm: Fix DCC console for v7

Without this patch arch/arm/compressed/head.S defaults to generic
DCC code that does not work for v7.

For more information on the v7 DCC, see Cortex-A8 TRM
"12.11.1 Debug communications channel".

To use it with post 2.6.33-rc1 or later, you need to have:

CONFIG_DEBUG_LL=y
ONFIG_DEBUG_ICEDCC=y
CONFIG_EARLY_PRINTK=y

Earlier kernels need commit 93fd03a8c6728b58879f8af20ffd55d9c32a778b
backported.

Tested on omap3430.

Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agoALSA: hda - Turn on EAPD only if available for Realtek codecs
Takashi Iwai [Tue, 19 Jan 2010 14:46:37 +0000 (15:46 +0100)]
ALSA: hda - Turn on EAPD only if available for Realtek codecs

Some codecs disable widgets used for output pins and reserve as vendor-
spec widgets.  Thus we need to check the widget type and pin cap before
actually sending SET_EAPD verbs in the auto-configuration mode.

Signed-off-by: Takashi Iwai <[email protected]>
15 years agoALSA: hda - Fix parsing pin node 0x21 on ALC259
Takashi Iwai [Tue, 19 Jan 2010 14:38:44 +0000 (15:38 +0100)]
ALSA: hda - Fix parsing pin node 0x21 on ALC259

ALC259 has a widget NID 0x21 for the output pin, but it wasn't handled
properly in alc268_new_analog_output().

Signed-off-by: Takashi Iwai <[email protected]>
15 years agofs/bio.c: fix shadows sparse warning
Thiago Farina [Tue, 19 Jan 2010 13:07:09 +0000 (14:07 +0100)]
fs/bio.c: fix shadows sparse warning

fs/bio.c:81:33: warning: symbol 'bslab' shadows an earlier one
fs/bio.c:74:25: originally declared here

Signed-off-by: Thiago Farina <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Tue, 19 Jan 2010 10:03:09 +0000 (02:03 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

15 years agobfin_mac: use the newer CLKBUFOE bit name via asm/dpmc.h
Mike Frysinger [Mon, 18 Jan 2010 21:14:12 +0000 (21:14 +0000)]
bfin_mac: use the newer CLKBUFOE bit name via asm/dpmc.h

This driver tweaks VR_CTL, so pull in the header for the bit defines.
Also switch to the new define name as the old one has gone away.

Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agosfc: QT202x: Remove unreliable MMD check at initialisation
Matthew Slattery [Mon, 18 Jan 2010 05:47:16 +0000 (05:47 +0000)]
sfc: QT202x: Remove unreliable MMD check at initialisation

Checking the PHY XS MMD here is unnecessary and can give false negatives.

Signed-off-by: Ben Hutchings <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoucc_geth: Fix full TX queue processing
Jiajun Wu [Mon, 18 Jan 2010 05:47:50 +0000 (05:47 +0000)]
ucc_geth: Fix full TX queue processing

commit 7583605b6d29f1f7f6fc505b883328089f3485ad ("ucc_geth: Fix empty
TX queue processing") fixed empty TX queue mishandling, but didn't
account another corner case: when TX queue becomes full.

Without this patch the driver will stop transmiting when TX queue
becomes full since 'bd == ugeth->txBd[txQ]' actually checks for
two things: queue empty or full.

Let's better check for NULL skb, which unambiguously signals an empty
queue.

Signed-off-by: Jiajun Wu <[email protected]>
Signed-off-by: Anton Vorontsov <[email protected]>
Cc: Stable <[email protected]> [2.6.32]
Signed-off-by: David S. Miller <[email protected]>
15 years agophylib: Move workqueue initialization to a proper place
Anton Vorontsov [Mon, 18 Jan 2010 05:37:16 +0000 (05:37 +0000)]
phylib: Move workqueue initialization to a proper place

commit 541cd3ee00a4fe975b22fac6a3bc846bacef37f7 ("phylib: Fix deadlock
on resume") caused TI DaVinci EMAC ethernet driver to oops upon resume:

 PM: resume of devices complete after 237.098 msecs
 Restarting tasks ... done.
 kernel BUG at kernel/workqueue.c:354!
 Unable to handle kernel NULL pointer dereference at virtual address 00000000
 [...]
 Backtrace:
 [<c002c598>] (__bug+0x0/0x2c) from [<c0052a54>] (queue_delayed_work_on+0x74/0xf8)
 [<c00529e0>] (queue_delayed_work_on+0x0/0xf8) from [<c0052b30>] (queue_delayed_work+0x2c/0x30)

The oops pops up because TI DaVinci EMAC driver detaches PHY on
suspend and attaches it back on resume. Attaching makes phylib call
phy_start_machine() that initializes a workqueue. On the other hand,
PHY's resume routine will call phy_start_machine() again, and that
will cause the oops since we just destroyed the already scheduled
workqueue.

This patch fixes the issue by moving workqueue initialization to
phy_device_create().

p.s. We don't see this oops with ucc_geth and gianfar drivers because
they perform a fine-grained suspend, i.e. they just stop the PHYs
without detaching.

Reported-by: Sekhar Nori <[email protected]>
Signed-off-by: Anton Vorontsov <[email protected]>
Tested-by: Sekhar Nori <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agodccp: fix dccp rmmod when kernel configured to use slub
Neil Horman [Sun, 17 Jan 2010 17:16:12 +0000 (17:16 +0000)]
dccp: fix dccp rmmod when kernel configured to use slub

Hey all-
I was tinkering with dccp recently and noticed that I BUG halted the
kernel when I rmmod-ed the dccp module.  The bug halt occured because the page
that I passed to kfree failed the PageCompound and PageSlab test in the slub
implementation of kfree.  I tracked the problem down to the following set of
events:

1) dccp, unlike all other uses of kmem_cache_create, allocates a string
dynamically when registering a slab cache.  This allocated string is freed when
the cache is destroyed.

2) Normally, (1) is not an issue, but when Slub is in use, it is possible that
caches are 'merged'.  This process causes multiple caches of simmilar
configuration to use the same cache data structure.  When this happens, the new
name of the cache is effectively dropped.

3) (2) results in kmem_cache_name returning an ambigous value (i.e.
ccid_kmem_cache_destroy, which uses this fuction to retrieve the name pointer
for freeing), is no longer guaranteed that the string it assigned is what is
returned.

4) If such merge event occurs, ccid_kmem_cache_destroy frees the wrong pointer,
which trips over the BUG in the slub implementation of kfree (since its likely
not a slab allocation, but rather a pointer into the static string table
section.

So, what to do about this.  At first blush this is pretty clearly a leak in the
information that slub owns, and as such a slub bug.  Unfortunately, theres no
really good way to fix it, without exposing slub specific implementation details
to the generic slab interface.  Also, even if we could fix this in slub cleanly,
I think the RCU free option would force us to do lots of string duplication, not
only in slub, but in every slab allocator.  As such, I'd like to propose this
solution.  Basically, I just move the storage for the kmem cache name to the
ccid_operations structure.  In so doing, we don't have to do the kstrdup or
kfree when we allocate/free the various caches for dccp, and so we avoid the
problem, by storing names with static memory, rather than heap, the way all
other calls to kmem_cache_create do.

I've tested this out myself here, and it solves the problem quite well.

Signed-off-by: Neil Horman <[email protected]>
Acked-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agosh64: wire up sys_accept4.
Paul Mundt [Tue, 19 Jan 2010 08:00:31 +0000 (17:00 +0900)]
sh64: wire up sys_accept4.

sh64 on the other hand provides both direct broken out syscalls as well
as socketcall access. As there are binaries that use both socketcall has
to stay around. The current ABI prefers direct syscalls.

It was pointed out that when sys_recvmmsg was added in, sys_accept4 was
overlooked. This takes care of wiring it up.

Signed-off-by: Paul Mundt <[email protected]>
15 years agosh: unwire sys_recvmmsg.
Paul Mundt [Tue, 19 Jan 2010 08:00:06 +0000 (17:00 +0900)]
sh: unwire sys_recvmmsg.

sh32 at the moment only uses sys_socketcall to reach these, so unwire
recvmmsg for now. While we're at it, add it to the ignore list, as per
the s390 change.

Signed-off-by: Paul Mundt <[email protected]>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Mon, 18 Jan 2010 22:20:15 +0000 (14:20 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs

15 years agox86, apic: use logical flat for systems with <= 8 logical cpus
Suresh Siddha [Mon, 18 Jan 2010 20:10:49 +0000 (12:10 -0800)]
x86, apic: use logical flat for systems with <= 8 logical cpus

We can use logical flat mode if there are <= 8 logical cpu's
(irrespective of physical apic id values).  This will enable simplified
and efficient IPI and device interrupt routing on such platforms.

This has been tested to work on both Intel and AMD platforms.
Exceptions like IBM summit platform which can't use logical flat mode
are addressed by using OEM platform checks.

Signed-off-by: Suresh Siddha <[email protected]>
Signed-off-by: Yinghai Lu <[email protected]>
Cc: Ananth N Mavinakayanahalli <[email protected]>
Cc: Chris McDermott <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
15 years agox86, apic: use physical mode for IBM summit platforms
Suresh Siddha [Mon, 18 Jan 2010 20:10:48 +0000 (12:10 -0800)]
x86, apic: use physical mode for IBM summit platforms

Chris McDermott from IBM confirmed that hurricane chipset in IBM summit
platforms doesn't support logical flat mode.  Irrespective of the other
things like apic_id's, total number of logical cpu's, Linux kernel
should default to physical mode for this system.

The 32-bit kernel does so using the OEM checks for the IBM summit
platform.  Add a similar OEM platform check for the 64bit kernel too.

Otherwise the linux kernel boot can hang on this platform under certain
bios/platform settings.

Signed-off-by: Suresh Siddha <[email protected]>
Tested-by: Ananth N Mavinakayanahalli <[email protected]>
Cc: Chris McDermott <[email protected]>
Cc: Yinghai Lu <[email protected]>
Cc: [email protected]
Signed-off-by: Linus Torvalds <[email protected]>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Mon, 18 Jan 2010 22:13:17 +0000 (14:13 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: Remove warning message for invalid OSS minor ranges
  ALSA: hda - Fix capture on Sony VAIO with single input
  ALSA: hda - Fix mute led GPIO on HP dv-series notebooks
  ALSA: use subsys_initcall for sound core instead of module_init
  ALSA: hda - Fix missing capture mixer for ALC861/660 codecs
  ALSA: hda - Improved MacBook (Pro) 5,1 / 5,2 support
  ALSA: hda - Fix Toshiba NB20x quirk entry

15 years agoMerge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze
Linus Torvalds [Mon, 18 Jan 2010 22:12:42 +0000 (14:12 -0800)]
Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze

* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: pci_controller->arch_data really is a struct device_node *
  microblaze: Add missing double apostrophe in Kconfig
  microblaze: Add PT_ macros for special purpose regs
  microblaze: Enable accept4 syscall
  microblaze: Wire up recvmmsg syscall

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Linus Torvalds [Mon, 18 Jan 2010 22:11:26 +0000 (14:11 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
  mfd: Unlock mc13783 before subsystems initialisation, at probe time.
  mfd: WM835x GPIO direction register is not locked
  mfd: tmio_mmc hardware abstraction for CNF area
  mfd: WM8350 off by one bug
  mfd: Correct WM835x ISINK ramp time defines

15 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Mon, 18 Jan 2010 22:08:55 +0000 (14:08 -0800)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Move cpu hotplug driver lock from pseries to powerpc
  powerpc: Move /proc/ppc64 to /proc/powerpc update
  powerpc/8xx: Fix user space TLB walk in dcbX fixup
  powerpc: Fix decrementer setup on 1GHz boards
  powerpc/iseries: Initialise on-stack completion
  powerpc/hvc: Driver build breaks with !HVC_CONSOLE
  serial/pmac_zilog: Workaround problem due to interrupt on closed port
  powerpc/macintosh: Make Open Firmware device id constant
  powerpc: Use helpers for rlimits
  powerpc: cpumask_of_node() should handle -1 as a node
  powerpc/pseries: Fix dlpar compile warning without CONFIG_PROC_DEVICETREE
  powerpc/pseries: Fix xics interrupt affinity
  powerpc/swsusp_32: Fix TLB invalidation
  powerpc/8xx: Always pin kernel instruction TLB
  powerpc: 2.6.33 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx
  powerpc: Use scripts/mkuboot.sh instead of 'mkimage'
  powerpc/5200: update defconfigs

15 years agoMerge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
Linus Torvalds [Mon, 18 Jan 2010 22:08:07 +0000 (14:08 -0800)]
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs

* 'for-linus' of git://oss.sgi.com/xfs/xfs:
  xfs: xfs_swap_extents needs to handle dynamic fork offsets
  xfs: fix missing error check in xfs_rtfree_range
  xfs: fix stale inode flush avoidance
  xfs: Remove inode iolock held check during allocation
  xfs: reclaim all inodes by background tree walks
  xfs: Avoid inodes in reclaim when flushing from inode cache
  xfs: reclaim inodes under a write lock

15 years agoMerge branch 'mantis' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
Linus Torvalds [Mon, 18 Jan 2010 22:07:07 +0000 (14:07 -0800)]
Merge branch 'mantis' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'mantis' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (117 commits)
  V4L/DVB (13851): Fix Input dependency for Mantis
  V4L/DVB(13824a): mantis: Fix __devexit bad annotations
  V4L/DVB (13808b): mantis: replace DMA_nnBIT_MASK to DMA_BIT_MASK(32)
  V4L/DVB (13808): [Mantis/Hopper] Build update for Mantis/Hopper based cards
  V4L/DVB(13808a): mantis: convert it to the new ir-core register/unregister functions
  V4L/DVB (13812): [Mantis/Hopper] Update Copyright header
  V4L/DVB (13811): [MB86A16] Update Copyright header
  V4L/DVB (13810): [MB86A16] Use DVB_* macros
  V4L/DVB (13809): Fix Checkpatch violations
  V4L/DVB (13807): Fix: Free device in the device registration failure case
  V4L/DVB (13806): Register and Initialize Remote control
  V4L/DVB (13805): Fix: Unregister the frontend before detaching
  V4L/DVB (13804): Remove unused I2C Adapter ID
  V4L/DVB (13803): Remove unused dependency on CU1216
  V4L/DVB (13802): [Mantis/Hopper] Fix all build related warnings
  V4L/DVB (13801): [MB86A16] Use the search callback
  V4L/DVB (13800): [Mantis] I2C optimization. Required delay is much lesser than 1mS.
  V4L/DVB (13799): [Mantis] Unregister frontend
  V4L/DVB (13798): [Mantis] Enable power for all cards, use byte mode only on relevant devices
  V4L/DVB (13797): [Mantis/Hopper/TDA665x] Large overhaul,
  ...

15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Mon, 18 Jan 2010 22:06:52 +0000 (14:06 -0800)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (23 commits)
  V4L/DVB (13966): DVB-T regression fix for saa7134 cards
  V4L/DVB (13955): cx25821: fix double unlock in medusa_video_init()
  MAINTAINERS: ivtv-devel is moderated
  MAINTAINERS: Andy Walls is the new ivtv maintainer
  V4L/DVB (13941): rj54n1cb0c: remove compiler warning
  V4L/DVB sh_mobile_ceu: don't check platform_get_irq's return value against zero
  V4L/DVB mx1_camera: don't check platform_get_irq's return value against zero
  V4L/DVB (13934): tda8290: Fix FM radio easy programming standard selection for TDA8295
  V4L/DVB (13900): gspca - sunplus: Fix bridge exchanges.
  V4L/DVB (13887): tda8290: add autodetection support for TDA8295c2
  V4L/DVB (13882): gspca - stv06xx-vv6410: Ensure register STV_SCAN_RATE is zero
  V4L/DVB (13880): gspca - m5602-s5k4aa: Add vflip quirk for the Amilo Xi 2428
  V4L/DVB (13875): gspca - vc032x: Fix a possible crash with the vc0321 bridge.
  V4L/DVB (13868): gspca - sn9c20x: Fix test of unsigned.
  V4L/DVB (13858): ir-keytable: use the right header
  feature-removal-schedule: Add v4l1 drivers obsoleted by gspca sub drivers
  V4L/DVB (13622): gspca - ov534: Fix a compilation warning.
  V4L/DVB (13834): dib8000: fix compilation if !DVB_DIB8000
  V4L/DVB (13831): uvcvideo: Fix oops caused by a race condition in buffer dequeuing
  V4L/DVB (13829): uvcvideo: Fix alternate setting selection in isochronous mode
  ...

15 years ago[WATCHDOG] iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs
Seth Heasley [Thu, 14 Jan 2010 20:58:05 +0000 (20:58 +0000)]
[WATCHDOG] iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs

This patch adds the Intel Cougar Point and PCH DeviceIDs for iTCO Watchdog.

Signed-off-by: Seth Heasley <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
15 years agozd1211rw: adding 0409:0248 to supported device list
Hin-Tak Leung [Mon, 18 Jan 2010 01:24:11 +0000 (01:24 +0000)]
zd1211rw: adding 0409:0248 to supported device list

Yasuhiro ABE <[email protected]> reported success in sourceforge zd1211-dev list.
The device is a NEC Aterm WL54GU usb wireless stick.

The brand and retail product name
    NEC, Aterm PA-WL54GU
The USB ID's (duh)
    ID 0409:0248
The chip ID string
    zd1211rw 1-1:1.0: zd1211b chip 0409:0248 v4810 high 00-1b-8b AL2230S_RF pa0 g--N-
The FCC ID
    unknown

Signed-off-by: Hin-Tak Leung <[email protected]>
Signed-off-by: Yasuhiro ABE <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agop54pci: rx frame length check
Christian Lamparter [Sun, 17 Jan 2010 23:07:38 +0000 (00:07 +0100)]
p54pci: rx frame length check

A long time ago, a user reported several crashes due to
data corruptions which are likely the result of a
not-100%-supported, or faulty? PCI bridge.
( http://patchwork.kernel.org/patch/53004/ )

This patch fixes entry #1.
"1.  p54p_check_rx_ring - skb_over_panic: Under a ping flood
or just left running for a bit would panic with a skb_over_panic."
As described in the mail: The invalid frame length causes
skb_put to bailout and trigger a crash.

Note:
Simply dropping the frame is problematic, because if its content
contains a tx feedback we would lose some portion of the device
memory space.... And the driver/mac80211 should handle all other
invalid data.

Reported-by: Quintin Pitts <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agomac80211: fix sign error in pid controller
Bob Copeland [Sat, 16 Jan 2010 19:36:52 +0000 (14:36 -0500)]
mac80211: fix sign error in pid controller

While testing the pid rate controller in mac80211_hwsim, I noticed
that once the controller reached 54 Mbit rates, it would fail to
lower the rate when necessary.  The debug log shows:

1945 186786 pf_sample 50 3534 3577 50

My interpretation is that the fixed point scaling of the target
error value (pf) is incorrect: the error value of 50 compared to
a target of 14 case should result in a scaling value of
(14-50) = -36 * 256 or -9216, but instead it is (14 * 256)-50, or
3534.

Correct this by doing fixed point scaling after subtraction.

Signed-off-by: Bob Copeland <[email protected]>
Acked-by: Stefano Brivio <[email protected]>
Acked-by: Mattias Nissler <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoiwlwifi: add license to tracing files
Reinette Chatre [Fri, 15 Jan 2010 21:42:59 +0000 (13:42 -0800)]
iwlwifi: add license to tracing files

Signed-off-by: Reinette Chatre <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
15 years agoiwlwifi: Fix throughput stall issue in HT mode for 5000
Wey-Yi Guy [Fri, 15 Jan 2010 21:42:58 +0000 (13:42 -0800)]
iwlwifi: Fix throughput stall issue in HT mode for 5000

Similar to 6000 and 1000 series, RTS/CTS is the recommended protection
mechanism for 5000 series in HT mode based on the HW design.

Using RTS/CTS will better protect the inner exchange from interference,
especially in highly-congested environment, it also prevent uCode encounter
TX FIFO underrun and other HT mode related performance issues.

Signed-off-by: Wey-Yi Guy <[email protected]>
Signed-off-by: Reinette Chatre <[email protected]>
CC: [email protected]
Signed-off-by: John W. Linville <[email protected]>
15 years agoUBI: fix memory leak in update path
Artem Bityutskiy [Mon, 18 Jan 2010 14:43:44 +0000 (16:43 +0200)]
UBI: fix memory leak in update path

When truncating an UBI volume, UBI should allocates a PEB-sized
buffer but does not release it, which leads to memory leaks.
This patch fixes the issue.

Reported-by: Marek Skuczynski <[email protected]>
Signed-off-by: Artem Bityutskiy <[email protected]>
Tested-by: Marek Skuczynski <[email protected]>
Cc: [email protected]
15 years agomicroblaze: pci_controller->arch_data really is a struct device_node *
Michal Simek [Wed, 13 Jan 2010 14:29:52 +0000 (15:29 +0100)]
microblaze: pci_controller->arch_data really is a struct device_node *

we are follow powerpc change:
44ef339073f67d4abcc62ae52a5fbc069d7a4d29

Signed-off-by: Michal Simek <[email protected]>
15 years agomicroblaze: Add missing double apostrophe in Kconfig
Michal Simek [Tue, 12 Jan 2010 10:05:49 +0000 (11:05 +0100)]
microblaze: Add missing double apostrophe in Kconfig

Signed-off-by: Michal Simek <[email protected]>
15 years agomicroblaze: Add PT_ macros for special purpose regs
Michal Simek [Mon, 28 Dec 2009 13:25:15 +0000 (14:25 +0100)]
microblaze: Add PT_ macros for special purpose regs

PT_ macros are used by gdb and strace uses them too.

Signed-off-by: Michal Simek <[email protected]>
15 years agomicroblaze: Enable accept4 syscall
Michal Simek [Mon, 28 Dec 2009 13:24:21 +0000 (14:24 +0100)]
microblaze: Enable accept4 syscall

We had wrong name in unistd.h + I wire up this syscall
in syscall table.

Signed-off-by: Michal Simek <[email protected]>
15 years agomicroblaze: Wire up recvmmsg syscall
Michal Simek [Mon, 28 Dec 2009 13:21:46 +0000 (14:21 +0100)]
microblaze: Wire up recvmmsg syscall

Patch a2e2725541fad72416326798c2d7fa4dafb7d337 should
contain change in unistd.h too. The same problem
had MIPS.

Signed-off-by: Michal Simek <[email protected]>
15 years agoARM: 5883/1: Revert "disable NX support for OABI-supporting kernels"
Rabin Vincent [Mon, 18 Jan 2010 14:04:32 +0000 (15:04 +0100)]
ARM: 5883/1: Revert "disable NX support for OABI-supporting kernels"

This reverts commit 14f0aa359365e8a93a77b71e3b840274b9b4dcb1.

That commit was needed earlier because system call restarting for
OABI (compat) required an executable stack and thus had problems
with NX.  Since ab72b00734ae4d0b ("ARM: Fix signal restart issues
with NX and OABI compat") has reworked the code to not require an
executable stack anymore, we can re-enable NX support for kernels
with OABI (compat) support.

Signed-off-by: Rabin Vincent <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agoclockevent: Don't remove broadcast device when cpu is dead
Xiaotian Feng [Thu, 7 Jan 2010 03:22:44 +0000 (11:22 +0800)]
clockevent: Don't remove broadcast device when cpu is dead

Marc reported that the BUG_ON in clockevents_notify() triggers on his
system. This happens because the kernel tries to remove an active
clock event device (used for broadcasting) from the device list.

The handling of devices which can be used as per cpu device and as a
global broadcast device is suboptimal.

The simplest solution for now (and for stable) is to check whether the
device is used as global broadcast device, but this needs to be
revisited.

[ tglx: restored the cpuweight check and massaged the changelog ]

Reported-by: Marc Dionne <[email protected]>
Tested-by: Marc Dionne <[email protected]>
Signed-off-by: Xiaotian Feng <[email protected]>
LKML-Reference: <1262834564[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: [email protected]
15 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Mon, 18 Jan 2010 13:20:55 +0000 (14:20 +0100)]
Merge branch 'fix/hda' into for-linus

15 years agoALSA: Remove warning message for invalid OSS minor ranges
Takashi Iwai [Mon, 18 Jan 2010 13:16:24 +0000 (14:16 +0100)]
ALSA: Remove warning message for invalid OSS minor ranges

When a card instance with a higher card number is registered, warning
messages are spewed eventually with stack traces due to the invalid minor
number for OSS device registration.  For example, thinkpad-acpi registers
the card number 29 as default, and you'll see always these messages.
This is rather confusing (and worries users), thus better to return
simply the error code.

Signed-off-by: Takashi Iwai <[email protected]>
15 years agoARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)
Tony Lindgren [Thu, 14 Jan 2010 19:36:55 +0000 (20:36 +0100)]
ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)

Because of the include of the decompress_inflate.c file from
boot/compress/misc.c, there are different flush() defines:

In file included from arch/arm/boot/compressed/misc.c:249:
arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:138:29: error: macro "flush" passed 2 arguments, but takes just 0

Fix this by removing the define of flush() in misc.c for
CONFIG_DEBUG_ICEDCC as it's already defined in mach/uncompress.h,
and that is being included unconditionally.

Also use a static inline function instead of define
for mach-mxc and mach-gemini to avoid similar bug
for those platforms.

Signed-off-by: Tony Lindgren <[email protected]>
Signed-off-by: Russell King <[email protected]>
15 years agosh: ms7724: Correct sh-eth EEPROM polling timeout.
Kuninori Morimoto [Thu, 24 Dec 2009 08:31:44 +0000 (08:31 +0000)]
sh: ms7724: Correct sh-eth EEPROM polling timeout.

This converts the cpu_relax() to a udelay(1), which fixes up issues with
the EEPROM polling occasionally timing out.

Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
15 years agomfd: Unlock mc13783 before subsystems initialisation, at probe time.
Alberto Panizzo [Mon, 14 Dec 2009 17:18:05 +0000 (18:18 +0100)]
mfd: Unlock mc13783 before subsystems initialisation, at probe time.

With this, mc13783 subsystems drivers can configure the mc13783 chip
reading and writing registers.

Signed-off-by: Alberto Panizzo <[email protected]>
Acked-by: Uwe Kleine-König <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
15 years agomfd: WM835x GPIO direction register is not locked
Mark Brown [Thu, 7 Jan 2010 16:16:14 +0000 (16:16 +0000)]
mfd: WM835x GPIO direction register is not locked

No need to set the security key when writing to it.

Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
Signed-off-by: Samuel Ortiz <[email protected]>
15 years agomfd: tmio_mmc hardware abstraction for CNF area
Ian Molton [Wed, 6 Jan 2010 12:51:48 +0000 (13:51 +0100)]
mfd: tmio_mmc hardware abstraction for CNF area

This patch abstracts out the CNF area code from tmio_mmc which
is not present in all hardware that can use this driver. This
is required so that we can support non-toshiba based hardware.

ASIC3 support by Philipp Zabel

Signed-off-by: Ian Molton <[email protected]>
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
15 years agomfd: WM8350 off by one bug
Dan Carpenter [Tue, 5 Jan 2010 13:59:06 +0000 (13:59 +0000)]
mfd: WM8350 off by one bug

If irq == WM8350_NUM_IRQ that would put us past the end of the array.

Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
15 years agomfd: Correct WM835x ISINK ramp time defines
Mark Brown [Mon, 4 Jan 2010 18:05:00 +0000 (18:05 +0000)]
mfd: Correct WM835x ISINK ramp time defines

The constants used to specify ISINK ramp times for WM835x had the
wrong shifts so that the on times applied to the off ramp and vice
versa. The masks for the bitfields are correct.

Signed-off-by: Mark Brown <[email protected]>
Cc: [email protected]
Signed-off-by: Samuel Ortiz <[email protected]>
15 years agoipv4: don't remove /proc/net/rt_acct
Alexey Dobriyan [Sun, 17 Jan 2010 03:32:50 +0000 (03:32 +0000)]
ipv4: don't remove /proc/net/rt_acct

/proc/net/rt_acct is not created if NET_CLS_ROUTE=n.

Signed-off-by: Alexey Dobriyan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
15 years agoBtrfs: fix possible panic on unmount
Josef Bacik [Fri, 13 Nov 2009 20:12:59 +0000 (20:12 +0000)]
Btrfs: fix possible panic on unmount

We can race with the unmount of an fs and the stopping of a kthread where we
will free the block group before we're done using it.  The reason for this is
because we do not hold a reference on the block group while its caching, since
the allocator drops its reference once it exits or moves on to the next block
group.  This patch fixes the problem by taking a reference to the block group
before we start caching and dropping it when we're done to make sure all
accesses to the block group are safe.  Thanks,

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
15 years agoBtrfs: deal with NULL acl sent to btrfs_set_acl
Chris Mason [Mon, 18 Jan 2010 01:36:18 +0000 (20:36 -0500)]
Btrfs: deal with NULL acl sent to btrfs_set_acl

It is legal for btrfs_set_acl to be sent a NULL acl.  This
makes sure we don't dereference it.  A similar patch was sent by
Johannes Hirte <[email protected]>

Signed-off-by: Chris Mason <[email protected]>
15 years agoBtrfs: fix regression in orphan cleanup
Josef Bacik [Fri, 15 Jan 2010 20:08:22 +0000 (20:08 +0000)]
Btrfs: fix regression in orphan cleanup

Currently orphan cleanup only ever gets triggered if we cross subvolumes during
a lookup, which means that if we just mount a plain jane fs that has orphans in
it, they will never get cleaned up.  This results in panic's like these

http://www.kerneloops.org/oops.php?number=1109085

where adding an orphan entry results in -EEXIST being returned and we panic.  In
order to fix this, we check to see on lookup if our root has had the orphan
cleanup done, and if not go ahead and do it.  This is easily reproduceable by
running this testcase

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>

int main(int argc, char **argv)
{
char data[4096];
char newdata[4096];
int fd1, fd2;

memset(data, 'a', 4096);
memset(newdata, 'b', 4096);

while (1) {
int i;

fd1 = creat("file1", 0666);
if (fd1 < 0)
break;

for (i = 0; i < 512; i++)
write(fd1, data, 4096);

fsync(fd1);
close(fd1);

fd2 = creat("file2", 0666);
if (fd2 < 0)
break;

ftruncate(fd2, 4096 * 512);

for (i = 0; i < 512; i++)
write(fd2, newdata, 4096);
close(fd2);

i = rename("file2", "file1");
unlink("file1");
}

return 0;
}

and then pulling the power on the box, and then trying to run that test again
when the box comes back up.  I've tested this locally and it fixes the problem.
Thanks to Tomas Carnecky for helping me track this down initially.

Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
15 years agoBtrfs: Fix race in btrfs_mark_extent_written
Yan, Zheng [Fri, 15 Jan 2010 08:43:09 +0000 (08:43 +0000)]
Btrfs: Fix race in btrfs_mark_extent_written

Fix bug reported by Johannes Hirte. The reason of that bug
is btrfs_del_items is called after btrfs_duplicate_item and
btrfs_del_items triggers tree balance. The fix is check that
case and call btrfs_search_slot when needed.

Signed-off-by: Yan Zheng <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
15 years agoBtrfs, fix memory leaks in error paths
Jiri Slaby [Wed, 6 Jan 2010 16:57:22 +0000 (16:57 +0000)]
Btrfs, fix memory leaks in error paths

Stanse found 2 memory leaks in relocate_block_group and
__btrfs_map_block. cluster and multi are not freed/assigned on all
paths. Fix that.

Signed-off-by: Jiri Slaby <[email protected]>
Cc: [email protected]
Signed-off-by: Chris Mason <[email protected]>
15 years agoBtrfs: align offsets for btrfs_ordered_update_i_size
Yan, Zheng [Mon, 28 Dec 2009 05:01:58 +0000 (05:01 +0000)]
Btrfs: align offsets for btrfs_ordered_update_i_size

Some callers of btrfs_ordered_update_i_size can now pass in
a NULL for the ordered extent to update against.  This makes
sure we properly align the offset they pass in when deciding
how much to bump the on disk i_size.

Signed-off-by: Chris Mason <[email protected]>
15 years agobtrfs: fix missing last-entry in readdir(3)
Jan Engelhardt [Wed, 9 Dec 2009 22:00:38 +0000 (22:00 +0000)]
btrfs: fix missing last-entry in readdir(3)

parent 49313cdac7b34c9f7ecbb1780cfc648b1c082cd7 (v2.6.32-1-g49313cd)
commit ff48c08e1c05c67e8348ab6f8a24de8034e0e34d
Author: Jan Engelhardt <[email protected]>
Date:   Wed Dec 9 22:57:36 2009 +0100

Btrfs: fix missing last-entry in readdir(3)

When one does a 32-bit readdir(3), the last entry of a directory is
missing. This is however not due to passing a large value to filldir,
but it seems to have to do with glibc doing telldir or something
quirky. In any case, this patch fixes it in practice.

Signed-off-by: Jan Engelhardt <[email protected]>
Signed-off-by: Chris Mason <[email protected]>
15 years agodrm/nv50: prevent accidently turning off encoders we're actually using
Ben Skeggs [Sun, 17 Jan 2010 22:52:35 +0000 (08:52 +1000)]
drm/nv50: prevent accidently turning off encoders we're actually using

On most cards the DisplayPort connector is created with 2 encoders sharing
a single SOR (for native DP, and for DVI-over-DP).  The previous logic
for turning off unused encoders didn't take into account that we could
have multiple drm_encoders on a single hw encoder and ended up turning off
encoders that were actually being used still.

This patch fixes that issue.  We probably want to look at something a bit
better later on, and only expose one drm_encoder per hw encoder block.

Signed-off-by: Ben Skeggs <[email protected]>
15 years agodrm/nv50: fix alignment of per-channel fifo cache
Ben Skeggs [Sun, 17 Jan 2010 22:33:04 +0000 (08:33 +1000)]
drm/nv50: fix alignment of per-channel fifo cache

GPU pointer to the structure is shifted right by 10 bits, so we need to
align to 1024 bytes, not 256.

Reported-by: Maarten Maathuis <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
15 years agodrm/nouveau: Evict buffers in VRAM before freeing sgdma
Luca Barbieri [Sat, 16 Jan 2010 14:30:15 +0000 (15:30 +0100)]
drm/nouveau: Evict buffers in VRAM before freeing sgdma

Currently, we take down the sgdma engine without evicting all buffers
from VRAM.

The TTM device release will try to evict anything in VRAM to GART
memory, but this will fail since sgdma has already been taken down.

This causes an infinite loop in kernel mode on module unload.
It usually doesn't happen because there aren't any buffer on close.
However, if the GPU is locked up, this condition is easily triggered.

This patch fixes it in the simplest way possible by cleaning VRAM
right before cleaning SGDMA memory.

Signed-off-by: Luca Barbieri <[email protected]>
Signed-off-by: Francisco Jerez <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
15 years agodrm/nouveau: Acknowledge DMA_VTX_PROTECTION PGRAPH interrupts
Luca Barbieri [Sat, 16 Jan 2010 14:27:51 +0000 (15:27 +0100)]
drm/nouveau: Acknowledge DMA_VTX_PROTECTION PGRAPH interrupts

Currently Nouveau is unable to dismiss DMA_VTX_PROTECTION errors,
which results in an infinite loop in the interrupt handler.

These errors are caused both by bugs in the Gallium driver and by
user-specified index buffers with out of bounds indices.

By mmio-tracing the nVidia drivers, I found out how this is done.
On DMA_VTX_PROTECTION, The nVidia driver reads the register 0x402000,
always getting the value 4, and then writes 4 back to 0x402000.

This patch adds that logic by reading 0x402000 and writing the same
value back.
It's unclear what should happen if the value read is not 4, and
the current approach might not be the correct one.

To test this, modify mesa/progs/trivial/vbo-drawrange.c, defining
ELTOBJ to 1 and replacing indices with huge out of bounds integers.

Without this patch, the GPU and/or kernel should lock up.
With this patch, it should misrender as expected but not lock up.

The errors are still logged since they are useful for development.

This has been tested on NV49 and may not work on other cards.

To find out how things work on other cards, run the aforementioned
test using the blob with mmiotrace and grep for a read of the PGRAPH
source register.

Signed-off-by: Luca Barbieri <[email protected]>
Signed-off-by: Francisco Jerez <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
15 years agodrm/nouveau: fix thinko in nv04_instmem.c
Ben Skeggs [Fri, 15 Jan 2010 02:21:37 +0000 (12:21 +1000)]
drm/nouveau: fix thinko in nv04_instmem.c

Signed-off-by: Ben Skeggs <[email protected]>
15 years agodrm/nouveau: fix a race condition in nouveau_dma_wait()
Ben Skeggs [Fri, 15 Jan 2010 02:08:57 +0000 (12:08 +1000)]
drm/nouveau: fix a race condition in nouveau_dma_wait()

Can be triggered easily on certain cards (NV46 and NV50 of mine) by
running "dmesg", the DRM's channel will lockup.

Signed-off-by: Ben Skeggs <[email protected]>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
Linus Torvalds [Sun, 17 Jan 2010 19:01:16 +0000 (11:01 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
  do_add_mount() should sanitize mnt_flags
  CIFS shouldn't make mountpoints shrinkable
  mnt_flags fixes in do_remount()
  attach_recursive_mnt() needs to hold vfsmount_lock over set_mnt_shared()
  may_umount() needs namespace_sem
  Fix configfs leak
  Fix the -ESTALE handling in do_filp_open()
  ecryptfs: Fix refcnt leak on ecryptfs_follow_link() error path
  Fix ACC_MODE() for real
  Unrot uml mconsole a bit
  hppfs: handle ->put_link()
  Kill 9p readlink()
  fix autofs/afs/etc. magic mountpoint breakage

15 years agomodpost: fix segfault in sym_is() with prefixed arches
Mike Frysinger [Sat, 16 Jan 2010 21:57:34 +0000 (08:27 +1030)]
modpost: fix segfault in sym_is() with prefixed arches

The sym_is() compares a symbol in an attempt to automatically skip symbol
prefixes.  It does this first by searching the real symbol with the normal
unprefixed symbol.  But then it uses the length of the original symbol to
check the end of the substring instead of the length of the symbol it is
looking for.  On non-prefixed arches, this is effectively the same thing,
so there is no problem.  On prefixed-arches, since this is exceeds by just
one byte, a crash is rare and it is usually a NUL byte anyways.  But every
once in a blue moon, you get the right page alignment and it segfaults.

For example, on the Blackfin arch, sym_is() will be called with the real
symbol "___mod_usb_device_table" as "symbol" when looking for the normal
symbol "__mod_usb_device_table" as "name".  The substring will thus return
one byte into "symbol" and store it into "match".  But then "match" will
be indexed with the length of "symbol" instead of "name" and so we will
exceed the storage.  i.e. the code ends up doing:
char foo[] = "abc"; return foo[strlen(foo)+1] == '\0';

Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: Rusty Russell <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
15 years agoARM: fix badly placed mach/plat entries in Kconfig & Makefile
Russell King [Thu, 14 Jan 2010 11:43:54 +0000 (11:43 +0000)]
ARM: fix badly placed mach/plat entries in Kconfig & Makefile

Signed-off-by: Russell King <[email protected]>
15 years agoV4L/DVB (13851): Fix Input dependency for Mantis
Manu Abraham [Sat, 19 Dec 2009 17:11:50 +0000 (14:11 -0300)]
V4L/DVB (13851): Fix Input dependency for Mantis

>
>
>
> CONFIG_INPUT=n

As reported by Randy Dunlap <[email protected]>:
> ERROR: "ir_input_register" [drivers/media/dvb/mantis/mantis_core.ko] undefined!
> ERROR: "ir_input_unregister" [drivers/media/dvb/mantis/mantis_core.ko] undefined!
> ERROR: "ir_input_init" [drivers/media/dvb/mantis/mantis_core.ko] undefined!
> ERROR: "input_free_device" [drivers/media/dvb/mantis/mantis_core.ko] undefined!
> ERROR: "input_allocate_device" [drivers/media/dvb/mantis/mantis_core.ko] undefined!

Signed-off-by: Manu Abraham <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB(13824a): mantis: Fix __devexit bad annotations
Mauro Carvalho Chehab [Fri, 18 Dec 2009 11:58:46 +0000 (09:58 -0200)]
V4L/DVB(13824a): mantis: Fix __devexit bad annotations

WARNING: drivers/media/dvb/mantis/built-in.o(.devinit.text+0x13d7): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_i2c_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/mantis/built-in.o(.devinit.text+0x1433): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/mantis/built-in.o(.devinit.text+0x185e): Section mismatch in reference from the function hopper_pci_probe() to the function
.devexit.text:mantis_i2c_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/mantis/built-in.o(.devinit.text+0x18ba): Section mismatch in reference from the function hopper_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/built-in.o(.devinit.text+0x68b8): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_i2c_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/built-in.o(.devinit.text+0x6914): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/built-in.o(.devinit.text+0x6d3f): Section mismatch in reference from the function hopper_pci_probe() to the function .devexit.text:mantis_i2c_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/dvb/built-in.o(.devinit.text+0x6d9b): Section mismatch in reference from the function hopper_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

WARNING: drivers/media/built-in.o(.devinit.text+0x14634): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_i2c_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/built-in.o(.devinit.text+0x14690): Section mismatch in reference from the function mantis_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit mantis_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

WARNING: drivers/media/built-in.o(.devinit.text+0x14abb): Section mismatch in reference from the function hopper_pci_probe() to the function .devexit.text:mantis_i2c_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_i2c_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_i2c_exit() so it may be used outside an exit section.

WARNING: drivers/media/built-in.o(.devinit.text+0x14b17): Section mismatch in reference from the function hopper_pci_probe() to the function .devexit.text:mantis_pci_exit()
The function __devinit hopper_pci_probe() references
a function __devexit mantis_pci_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
mantis_pci_exit() so it may be used outside an exit section.

Acked-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13808b): mantis: replace DMA_nnBIT_MASK to DMA_BIT_MASK(32)
Mauro Carvalho Chehab [Thu, 17 Dec 2009 02:06:04 +0000 (00:06 -0200)]
V4L/DVB (13808b): mantis: replace DMA_nnBIT_MASK to DMA_BIT_MASK(32)

drivers/media/dvb/mantis/mantis_pci.c: In function ‘mantis_pci_init’:
drivers/media/dvb/mantis/mantis_pci.c:76: warning: ‘DMA_nnBIT_MASK’ is deprecated

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13808): [Mantis/Hopper] Build update for Mantis/Hopper based cards
Manu Abraham [Sat, 5 Dec 2009 04:24:08 +0000 (01:24 -0300)]
V4L/DVB (13808): [Mantis/Hopper] Build update for Mantis/Hopper based cards

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB(13808a): mantis: convert it to the new ir-core register/unregister functions
Mauro Carvalho Chehab [Thu, 17 Dec 2009 01:57:27 +0000 (23:57 -0200)]
V4L/DVB(13808a): mantis: convert it to the new ir-core register/unregister functions

Fix a merge conflict between mantis and IR cleanups

Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13812): [Mantis/Hopper] Update Copyright header
Manu Abraham [Tue, 15 Dec 2009 12:13:49 +0000 (09:13 -0300)]
V4L/DVB (13812): [Mantis/Hopper] Update Copyright header

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13811): [MB86A16] Update Copyright header
Manu Abraham [Tue, 15 Dec 2009 12:04:59 +0000 (09:04 -0300)]
V4L/DVB (13811): [MB86A16] Update Copyright header

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13810): [MB86A16] Use DVB_* macros
Manu Abraham [Tue, 15 Dec 2009 12:01:27 +0000 (09:01 -0300)]
V4L/DVB (13810): [MB86A16] Use DVB_* macros

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13809): Fix Checkpatch violations
Manu Abraham [Tue, 15 Dec 2009 11:47:21 +0000 (08:47 -0300)]
V4L/DVB (13809): Fix Checkpatch violations

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13807): Fix: Free device in the device registration failure case
Manu Abraham [Sat, 12 Dec 2009 06:14:25 +0000 (03:14 -0300)]
V4L/DVB (13807): Fix: Free device in the device registration failure case

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13806): Register and Initialize Remote control
Manu Abraham [Fri, 11 Dec 2009 23:41:07 +0000 (20:41 -0300)]
V4L/DVB (13806): Register and Initialize Remote control

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13805): Fix: Unregister the frontend before detaching
Manu Abraham [Wed, 9 Dec 2009 22:59:26 +0000 (19:59 -0300)]
V4L/DVB (13805): Fix: Unregister the frontend before detaching

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13804): Remove unused I2C Adapter ID
Manu Abraham [Wed, 9 Dec 2009 22:27:17 +0000 (19:27 -0300)]
V4L/DVB (13804): Remove unused I2C Adapter ID

Signed-off-by: <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13803): Remove unused dependency on CU1216
Manu Abraham [Wed, 9 Dec 2009 22:00:33 +0000 (19:00 -0300)]
V4L/DVB (13803): Remove unused dependency on CU1216

Thanks to Matthias Wachter <[email protected]>
for pointing it out.

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13802): [Mantis/Hopper] Fix all build related warnings
Manu Abraham [Tue, 15 Dec 2009 09:17:54 +0000 (06:17 -0300)]
V4L/DVB (13802): [Mantis/Hopper] Fix all build related warnings

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13801): [MB86A16] Use the search callback
Manu Abraham [Tue, 15 Dec 2009 09:15:27 +0000 (06:15 -0300)]
V4L/DVB (13801): [MB86A16] Use the search callback

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13800): [Mantis] I2C optimization. Required delay is much lesser than 1mS.
Manu Abraham [Fri, 4 Dec 2009 12:02:00 +0000 (09:02 -0300)]
V4L/DVB (13800): [Mantis] I2C optimization. Required delay is much lesser than 1mS.

Do not wait, keep looping instead.

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13799): [Mantis] Unregister frontend
Manu Abraham [Fri, 4 Dec 2009 12:01:35 +0000 (09:01 -0300)]
V4L/DVB (13799): [Mantis] Unregister frontend

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13798): [Mantis] Enable power for all cards, use byte mode only on relevant...
Manu Abraham [Fri, 4 Dec 2009 08:57:28 +0000 (05:57 -0300)]
V4L/DVB (13798): [Mantis] Enable power for all cards, use byte mode only on relevant devices

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13797): [Mantis/Hopper/TDA665x] Large overhaul,
Manu Abraham [Fri, 4 Dec 2009 08:56:35 +0000 (05:56 -0300)]
V4L/DVB (13797): [Mantis/Hopper/TDA665x] Large overhaul,

* Initial go at VP-3028, VP-3030 devices.
* I2C communication improvements,
* Add TDA665x support

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13796): [Mantis] Add missing file in previous commit
Manu Abraham [Fri, 4 Dec 2009 08:41:52 +0000 (05:41 -0300)]
V4L/DVB (13796): [Mantis] Add missing file in previous commit

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13795): [Mantis/Hopper] Code overhaul, add Hopper devices into the PCI ID...
Manu Abraham [Fri, 4 Dec 2009 08:41:11 +0000 (05:41 -0300)]
V4L/DVB (13795): [Mantis/Hopper] Code overhaul, add Hopper devices into the PCI ID list

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13794): [Mantis/VP-3028] Initial go at Serial interface implementation,...
Manu Abraham [Fri, 4 Dec 2009 08:39:57 +0000 (05:39 -0300)]
V4L/DVB (13794): [Mantis/VP-3028] Initial go at Serial interface implementation, add support for VP-3028

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13792): [Mantis/VP-2033] Do not claim TDA10023
Niklas Edmundsson [Fri, 4 Dec 2009 08:38:52 +0000 (05:38 -0300)]
V4L/DVB (13792): [Mantis/VP-2033] Do not claim TDA10023

Do not rely on the PCI ID alone

Signed-off-by: Niklas Edmundsson <[email protected]>
Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13791): [TDA10021] Do not claim TDA10023
Niklas Edmundsson [Fri, 4 Dec 2009 08:38:21 +0000 (05:38 -0300)]
V4L/DVB (13791): [TDA10021] Do not claim TDA10023

Signed-off-by: Niklas Edmundsson <[email protected]>
Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
15 years agoV4L/DVB (13790): [Mantis] Relocate queue initialization
Manu Abraham [Fri, 4 Dec 2009 08:35:07 +0000 (05:35 -0300)]
V4L/DVB (13790): [Mantis] Relocate queue initialization

Signed-off-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This page took 0.115905 seconds and 4 git commands to generate.