firefly-linux-kernel-4.4.55.git
16 years agosoftirqs, debug: preemption check
Thomas Gleixner [Thu, 2 Oct 2008 08:50:53 +0000 (10:50 +0200)]
softirqs, debug: preemption check

if a preempt count leaks out of a softirq handler it can be very hard
to figure it out. Add a debug check for this.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosoftirq: allocate less vectors
Alexey Dobriyan [Sat, 6 Sep 2008 18:04:36 +0000 (20:04 +0200)]
softirq: allocate less vectors

We don't need whole 32 of them, only NR_SOFTIRQS.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agodrivers/mmc/card/block.c: fix refcount leak in mmc_block_open()
Andrew Morton [Fri, 5 Sep 2008 21:00:24 +0000 (14:00 -0700)]
drivers/mmc/card/block.c: fix refcount leak in mmc_block_open()

mmc_block_open() increments md->usage although it returns with -EROFS when
default mounting a MMC/SD card with write protect switch on.  This
reference counting bug prevents /dev/mmcblkX from being released on card
removal, and situation worsen with reinsertion until the minor number
range runs out.

Reported-by: <sasin@solomon-systech.com>
Acked-by: Pierre Ossman <drzeus-list@drzeus.cx>
Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agotracehook: comment pasto fixes
Roland McGrath [Fri, 5 Sep 2008 21:00:23 +0000 (14:00 -0700)]
tracehook: comment pasto fixes

Fix some pasto's in comments in the new linux/tracehook.h and
asm-generic/syscall.h files.

Reported-by: Wenji Huang <wenji.huang@oracle.com>
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoatmel_lcdfb: fix oops in rmmod when framebuffer fails to register
Stanislaw Gruszka [Fri, 5 Sep 2008 21:00:22 +0000 (14:00 -0700)]
atmel_lcdfb: fix oops in rmmod when framebuffer fails to register

If framebuffer registration failed in platform driver ->probe() callback,
dev_get_drvdata() points to freed memory region, but ->remove() function
try to use it and the following oops occurs:

Unable to handle kernel NULL pointer dereference at virtual address 00000228
pgd = c3a20000
[00000228] *pgd=23a2b031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: atmel_lcdfb(-) cfbcopyarea cfbimgblt cfbfillrect [last unloaded: atmel_lcdfb]
CPU: 0    Not tainted  (2.6.27-rc2 #116)
PC is at atmel_lcdfb_remove+0x14/0xf8 [atmel_lcdfb]
LR is at platform_drv_remove+0x20/0x24
pc : [<bf006bc4>]    lr : [<c0157d28>]    psr: a0000013
sp : c3a45e84  ip : c3a45ea0  fp : c3a45e9c
r10: 00000002  r9 : c3a44000  r8 : c0026c04
r7 : 00000880  r6 : c02bb228  r5 : 00000000  r4 : c02bb230
r3 : bf007e3c  r2 : c02bb230  r1 : 00000004  r0 : c02bb228
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 23a20000  DAC: 00000015
Process rmmod (pid: 6799, stack limit = 0xc3a44260)
Stack: (0xc3a45e84 to 0xc3a46000)
5e80:          c02bb230 bf007e3c bf007e3c c3a45eac c3a45ea0 c0157d28 bf006bc0
5ea0: c3a45ec4 c3a45eb0 c0156d20 c0157d18 c02bb230 c02bb2d8 c3a45ee0 c3a45ec8
5ec0: c0156da8 c0156cb8 bf007e3c bf007ee0 c02c8e14 c3a45efc c3a45ee4 c0156018
5ee0: c0156d50 bf007e3c bf007ee0 00000000 c3a45f18 c3a45f00 c0157220 c0155f9c
5f00: 00000000 bf007ee0 bf008000 c3a45f28 c3a45f1c c0157e34 c01571ec c3a45f38
5f20: c3a45f2c bf006ba8 c0157e30 c3a45fa4 c3a45f3c c005772c bf006ba4 656d7461
5f40: 636c5f6c 00626664 c004c988 c3a45f80 c3a45f5c 00000000 c3a45fb0 00000000
5f60: ffffffff becaccd8 00000880 00000000 000a5e80 00000001 bf007ee0 00000880
5f80: c3a45f84 00000000 becaccd4 00000002 000003df 00000081 00000000 c3a45fa8
5fa0: c0026a60 c0057584 00000002 000003df 00900081 000a5e80 00000880 00000000
5fc0: becaccd4 00000002 000003df 00000000 000a5e80 00000001 00000002 0000005f
5fe0: 4004f5ec becacbe8 0001a158 4004f5fc 20000010 00900081 f9ffbadf 7bbfb2bb
Backtrace:
[<bf006bb0>] (atmel_lcdfb_remove+0x0/0xf8 [atmel_lcdfb]) from [<c0157d28>] (platform_drv_remove+0x20/0x24)
 r6:bf007e3c r5:bf007e3c r4:c02bb230
[<c0157d08>] (platform_drv_remove+0x0/0x24) from [<c0156d20>] (__device_release_driver+0x78/0x98)
[<c0156ca8>] (__device_release_driver+0x0/0x98) from [<c0156da8>] (driver_detach+0x68/0x90)
 r5:c02bb2d8 r4:c02bb230
[<c0156d40>] (driver_detach+0x0/0x90) from [<c0156018>] (bus_remove_driver+0x8c/0xb4)
 r6:c02c8e14 r5:bf007ee0 r4:bf007e3c
[<c0155f8c>] (bus_remove_driver+0x0/0xb4) from [<c0157220>] (driver_unregister+0x44/0x48)
 r6:00000000 r5:bf007ee0 r4:bf007e3c
[<c01571dc>] (driver_unregister+0x0/0x48) from [<c0157e34>] (platform_driver_unregister+0x14/0x18)
 r6:bf008000 r5:bf007ee0 r4:00000000
[<c0157e20>] (platform_driver_unregister+0x0/0x18) from [<bf006ba8>] (atmel_lcdfb_exit+0x14/0x1c [atmel_lcdfb])
[<bf006b94>] (atmel_lcdfb_exit+0x0/0x1c [atmel_lcdfb]) from [<c005772c>] (sys_delete_module+0x1b8/0x22c)
[<c0057574>] (sys_delete_module+0x0/0x22c) from [<c0026a60>] (ret_fast_syscall+0x0/0x2c)
 r7:00000081 r6:000003df r5:00000002 r4:becaccd4
Code: e92dd870 e24cb004 e59050c4 e1a06000 (e5954228)
---[ end trace 85476b184d9e68d8 ]---

This patch fixes the oops.

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoforcedeth: fix kexec regression
Rafael J. Wysocki [Fri, 5 Sep 2008 21:00:19 +0000 (14:00 -0700)]
forcedeth: fix kexec regression

Fix regression tracked as http://bugzilla.kernel.org/show_bug.cgi?id=11361
and caused by commit f735a2a1a4f2a0f5cd823ce323e82675990469e2 ("[netdrvr]
forcedeth: setup wake-on-lan before shutting down") that makes network
adapters integrated into the NVidia MCP55 chipsets fail to work in kexeced
kernels.  The problem appears to be that if the adapter is put into D3_hot
during ->shutdown(), it cannot be brought back into D0 after kexec (ref.
http://marc.info/?l=linux-kernel&m=121900062814967&w=4).  Therefore, only
put forcedeth into D3 during ->shutdown() if the system is to be powered
off.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agores_counter: fix off-by-one bug in setting limit
Li Zefan [Fri, 5 Sep 2008 21:00:18 +0000 (14:00 -0700)]
res_counter: fix off-by-one bug in setting limit

I found we can no longer set limit to 0 with 2.6.27-rcX:
 # mount -t cgroup -omemory xxx /mnt
 # mkdir /mnt/0
 # echo 0 > /mnt/0/memory.limit_in_bytes
 bash: echo: write error: Device or resource busy

It turned out 'limit' can't be set to 'usage', which is wrong IMO.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Acked-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 5 Sep 2008 21:37:15 +0000 (14:37 -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: fix process time monotonicity
  sched_clock: fix NOHZ interaction

16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 5 Sep 2008 21:36:21 +0000 (14:36 -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: add io delay quirk for Presario F700

16 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
Linus Torvalds [Fri, 5 Sep 2008 21:35:56 +0000 (14:35 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/djbw/async_tx

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
  async_tx: fix the bug in async_tx_run_dependencies

16 years agoMerge git://git.infradead.org/~dwmw2/dwmw2-2.6.27
Linus Torvalds [Fri, 5 Sep 2008 21:31:54 +0000 (14:31 -0700)]
Merge git://git.infradead.org/~dwmw2/dwmw2-2.6.27

* git://git.infradead.org/~dwmw2/dwmw2-2.6.27:
  Revert "[ARM] use the new byteorder headers"
  Fix conditional export of kvh.h and a.out.h to userspace.
  [MTD] [NAND] tmio_nand: fix base address programming

16 years agoMerge branch 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal...
Linus Torvalds [Fri, 5 Sep 2008 21:30:58 +0000 (14:30 -0700)]
Merge branch 'sh/for-2.6.27' of git://git./linux/kernel/git/lethal/sh-2.6

* 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
  i2c: fix i2c-sh_mobile timing issues
  sh64: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.
  sh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.
  sh: fix semtimedop syscall
  sh: update AP325RXA defconfig
  sh: update Migo-R defconfig
  sh: fix platform_resource_setup_memory() section mismatch
  sh: fix kexec entry point for crash kernels
  sh: crash kernel resource fix
  sh: fix ptrace_64.c:user_disable_single_step()
  sh64: re-add the __strnlen_user() prototype

16 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Fri, 5 Sep 2008 21:29:50 +0000 (14:29 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/mchehab/v4l-dvb

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (98 commits)
  V4L/DVB (8881): gspca: After 'while (retry--) {...}', retry will be -1 but not 0.
  V4L/DVB (8880): PATCH: Fix parents on some webcam drivers
  V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay
  V4L/DVB (8876): budget: udelay changed to mdelay
  V4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update usb-id's.
  V4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and adjust exposure.
  V4L/DVB (8872): gspca: Bad image format and offset with rev072a of spca561.
  V4L/DVB (8870): gspca: Fix dark room problem with sonixb.
  V4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from sn9c102 to gspca.
  V4L/DVB (8868): gspca: Support for vga modes with sif sensors in sonixb.
  V4L/DVB (8844): dabusb_fpga_download(): fix a memory leak
  V4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak
  V4L/DVB (8842): vivi_release(): fix use-after-free
  V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 (84xxx)
  V4L/DVB (8839): dib0700: add comment to identify 35th USB id pair
  V4L/DVB (8837): dvb: fix I2C adapters name size
  V4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer added in sonixb.
  V4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed images.
  V4L/DVB (8833): gspca: Cleanup the sonixb code.
  V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.
  ...

16 years agoMerge branch 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 5 Sep 2008 21:28:19 +0000 (14:28 -0700)]
Merge branch 'core/debugobjects' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'core/debugobjects' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  debugobjects: fix lockdep warning

16 years agoMerge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak...
Linus Torvalds [Fri, 5 Sep 2008 21:27:12 +0000 (14:27 -0700)]
Merge branch 'release-2.6.27' of git://git./linux/kernel/git/ak/linux-acpi-2.6

* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6:
  acer-wmi: remove debugfs entries upon unloading
  ACPI: Avoid bogus timeout about SMbus check
  fujitsu-laptop: fix regression for P8010 in 2.6.27-rc
  ACPI: Make Len Brown the ACPI maintainer again
  ACPI: thinkpad-acpi: wan radio control is not experimental
  PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors
  acpi: add checking for NULL early param
  ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board"
  ACPI: Fix now signed module parameter.
  ACPI: Change package length error to warning
  ACPI: Fix now signed module parameter.

16 years agoRevert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM"
Linus Torvalds [Fri, 5 Sep 2008 19:38:09 +0000 (12:38 -0700)]
Revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM"

This reverts commit 087d833e5a9f67ba933cb32eaf5a2279c1a5b47c, which was
reported to break wireless at least in some combinations with 32bit user
space and a 64bit kernel.  Alex Williamnson bisected it to this commit.

Reported-and-bisected-by: Alex Williamson <alex.williamson@hp.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
Cc: David Miller <davem@davemloft.net>
Cc: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosched: fix process time monotonicity
Balbir Singh [Fri, 5 Sep 2008 16:12:23 +0000 (18:12 +0200)]
sched: fix process time monotonicity

Spencer reported a problem where utime and stime were going negative despite
the fixes in commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa. The suspected
reason for the problem is that signal_struct maintains it's own utime and
stime (of exited tasks), these are not updated using the new task_utime()
routine, hence sig->utime can go backwards and cause the same problem
to occur (sig->utime, adds tsk->utime and not task_utime()). This patch
fixes the problem

TODO: using max(task->prev_utime, derived utime) works for now, but a more
generic solution is to implement cputime_max() and use the cputime_gt()
function for comparison.

Reported-by: spencer@bluehost.com
Signed-off-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agosched_clock: fix NOHZ interaction
Peter Zijlstra [Mon, 1 Sep 2008 14:44:23 +0000 (16:44 +0200)]
sched_clock: fix NOHZ interaction

If HLT stops the TSC, we'll fail to account idle time, thereby inflating the
actual process times. Fix this by re-calibrating the clock against GTOD when
leaving nohz mode.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoRevert "[ARM] use the new byteorder headers"
David Woodhouse [Fri, 5 Sep 2008 15:01:15 +0000 (16:01 +0100)]
Revert "[ARM] use the new byteorder headers"

This reverts commit ae82cbfc8beaa69007aa09966d3983ac938c3577. It
needs the new byteorder headers to be exported to userspace, and
they aren't yet -- and probably shouldn't be, at this point in the
2.6.27 release cycle (or ever, for that matter).

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoasync_tx: fix the bug in async_tx_run_dependencies
Yuri Tikhonov [Fri, 5 Sep 2008 15:15:47 +0000 (08:15 -0700)]
async_tx: fix the bug in async_tx_run_dependencies

Should clear the next pointer of the TX if we are sure that the
next TX (say NXT) will be submitted to the channel too. Overwise,
we break the chain of descriptors, because we lose the information
about the next descriptor to run. So next time, when invoke
async_tx_run_dependencies() with TX, it's TX->next will be NULL, and
NXT will be never submitted.

Cc: <stable@kernel.org> [2.6.26]
Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
16 years agoFix conditional export of kvh.h and a.out.h to userspace.
Khem Raj [Fri, 5 Sep 2008 06:11:01 +0000 (23:11 -0700)]
Fix conditional export of kvh.h and a.out.h to userspace.

Some architectures have moved the asm/ into arch/ and some have not.
This patch checks for a.out.h and kvh.h in both places before exporting
the corresponding file from linux/

[dwmw2: simplified a little]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
16 years ago[MTD] [NAND] tmio_nand: fix base address programming
Dmitry Baryshkov [Thu, 4 Sep 2008 09:28:33 +0000 (13:28 +0400)]
[MTD] [NAND] tmio_nand: fix base address programming

Fix offset of second word used for programming base address of memory
window. Also program tmio with offset of the FCR, not with physical
memory location.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Cc: Ian Molton <spyro@f2s.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
16 years agoi2c: fix i2c-sh_mobile timing issues
Magnus Damm [Wed, 27 Aug 2008 09:33:56 +0000 (18:33 +0900)]
i2c: fix i2c-sh_mobile timing issues

This patch teaches the i2c-sh_mobile driver to make use of wait irqs.
Without this patch only dte irqs are used which may lead to overruns
and cases of missing stop and extra bytes being read on the i2c bus.

Use of wait irqs forces the hardware to pause and wait until the cpu
is ready. Polling is also reworked in this patch to fix ms delay issues.

Verified with bus analyzer and tested on MigoR and AP325RXA boards.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh64: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.
Paul Mundt [Fri, 5 Sep 2008 05:51:28 +0000 (14:51 +0900)]
sh64: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.

Follows the SH change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.
Carmelo Amoroso [Fri, 5 Sep 2008 05:42:16 +0000 (14:42 +0900)]
sh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.

This patch fixes a problem within the SH implementation of resume_kernel code,
that implements in assembly the bulk of preempt_schedule_irq function without
taking care of the extra code needed to handle the BKL preemptible.

The patch basically consists of removing this asm code and calling the common
C implementation (see kernel/sched.c) as other archs do.

Another change is the missing 'cli' macro invocation at the beginning of
the resume_kernel.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agoV4L/DVB (8881): gspca: After 'while (retry--) {...}', retry will be -1 but not 0.
Li Zefan [Tue, 2 Sep 2008 10:02:50 +0000 (07:02 -0300)]
V4L/DVB (8881): gspca: After 'while (retry--) {...}', retry will be -1 but not 0.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8880): PATCH: Fix parents on some webcam drivers
Hans de Goede [Mon, 1 Sep 2008 18:28:23 +0000 (15:28 -0300)]
V4L/DVB (8880): PATCH: Fix parents on some webcam drivers

While doing some testing using Luca Risolia's sonix driver I noticed that
the video device did not get ACL's set to allow access by locally logged in
users, nor does it show up as a video device in lshal, causing cheese to not
see it.

This turns out to be caused by all of Luca Risolia's drivers not setting
the parent member of the video_device struct. This patch fixes this.

Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay
Thierry MERLE [Mon, 1 Sep 2008 20:32:10 +0000 (17:32 -0300)]
V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay

b2c2-flexcop, dvb/bt8xx and video/bt8xx fails to build on ARM with:

__bad_udelay is specifically designed on ARM to fail when udelay is
called in a bad way.  arch/arm/include/asm/delay.h has this to say
about __bad_udelay:

/*
 * This function intentionally does not exist; if you see references to
 * it, it means that you're calling udelay() with an out of range value.
 *
 * With currently imposed limits, this means that we support a max delay
 * of 2000us. Further limits: HZ<=1000 and bogomips<=3355
 */
extern void __bad_udelay(void);

Solution is to replace udelay by a mdelay and udelay with value less than 2000

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8876): budget: udelay changed to mdelay
Thierry MERLE [Mon, 1 Sep 2008 20:28:57 +0000 (17:28 -0300)]
V4L/DVB (8876): budget: udelay changed to mdelay

budget.ko fails to build on ARM with:

ERROR: "__bad_udelay" [drivers/media/dvb/ttpci/budget.ko] undefined!
make[1]: *** [__modpost] Error 1

__bad_udelay is specifically designed on ARM to fail when udelay is
called in a bad way.  arch/arm/include/asm/delay.h has this to say
about __bad_udelay:

/*
 * This function intentionally does not exist; if you see references to
 * it, it means that you're calling udelay() with an out of range value.
 *
 * With currently imposed limits, this means that we support a max delay
 * of 2000us. Further limits: HZ<=1000 and bogomips<=3355
 */
extern void __bad_udelay(void);

Solution is to replace udelay by a mdelay and udelay with value less than 2000

Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoMerge branch 'fixes_stg' of ../git_old into fixes
Mauro Carvalho Chehab [Thu, 4 Sep 2008 19:24:02 +0000 (16:24 -0300)]
Merge branch 'fixes_stg' of ../git_old into fixes

16 years agoV4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update usb-id's.
Hans de Goede [Thu, 4 Sep 2008 19:22:57 +0000 (16:22 -0300)]
V4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update usb-id's.

- Adjust hstart in ov7630 on sn9c103 initdata to shift bayer pattern, this is
 the same change as done for the other initdata tables in a previous patch.
- Assign usb-id's for the ov7630 + sn9c103 to gspca if gspca and sn9c102
  drivers are both enabled.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and adjust exposure.
Hans de Goede [Thu, 4 Sep 2008 19:22:57 +0000 (16:22 -0300)]
V4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and adjust exposure.

-Make raw bayer header size change from 20 to 16 affect rev072a only, my 2
 rev012a cams both have a header size of 20
-While testing this I also tested the new exposure setting (good work on
 finding the register JF), and after quite a bit of testing have found out the
 exact meaning of the register, this patch modifies setexposure to control
 the exposure over a much wider range.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8872): gspca: Bad image format and offset with rev072a of spca561.
Jean-Francois Moine [Thu, 4 Sep 2008 19:22:56 +0000 (16:22 -0300)]
V4L/DVB (8872): gspca: Bad image format and offset with rev072a of spca561.

- have 2 pixfmt tables
- offset of Bayer frames at 16 instead of 20.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8870): gspca: Fix dark room problem with sonixb.
Hans de Goede [Thu, 4 Sep 2008 19:22:56 +0000 (16:22 -0300)]
V4L/DVB (8870): gspca: Fix dark room problem with sonixb.

When using the sonixb driver in a dark room and given that the autoexposure
algorithm starts with a setting most suitable for daylight, the picture
produced by the cam may actually be 100% black leading to a avg_lum value of 0,
so an avg_lum value of 0 does not always signal an exposure settings change
(which it normally does). This patch adds a check for the really black image
case and stops dropping all frames as invalid in this case.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from sn9c102 to gspca.
Hans de Goede [Thu, 4 Sep 2008 19:22:55 +0000 (16:22 -0300)]
V4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from sn9c102 to gspca.

This patch makes gspca claim the USB-ID for sn9c101/2 cams with a TAS5110C1B
sensor even if both gspca and sn9c102 are enabled, as these cams are much
better supported under gspca (and extensively tested with gspca).
It also removes an usb-id from sn9c102 for one more unsupported bridge
sensor combo.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8868): gspca: Support for vga modes with sif sensors in sonixb.
Hans de Goede [Thu, 4 Sep 2008 19:20:12 +0000 (16:20 -0300)]
V4L/DVB (8868): gspca: Support for vga modes with sif sensors in sonixb.

- Add documentation for some known registers
- Add support for vga modes (320x240, 160x120) for sif sensors
- Remove F_RAW sensor flag raw mode should work on any sensor as its a bridge
   only thing and keeping the flag was becoming awkward.
- Fixup ov6650 and pas106 auto exposure window settings

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoforgotten refcount on sysctl root table
Al Viro [Thu, 4 Sep 2008 16:05:57 +0000 (17:05 +0100)]
forgotten refcount on sysctl root table

We should've set refcount on the root sysctl table; otherwise we'll blow
up the first time we get down to zero dynamically registered sysctl
tables.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'wmi-fix' into release-2.6.27
Andi Kleen [Thu, 4 Sep 2008 12:41:02 +0000 (14:41 +0200)]
Merge branch 'wmi-fix' into release-2.6.27

16 years agoacer-wmi: remove debugfs entries upon unloading
Russ Dill [Tue, 2 Sep 2008 21:35:40 +0000 (14:35 -0700)]
acer-wmi: remove debugfs entries upon unloading

The exit function neglects to remove debugfs entries, leading to a BUG
on reload.

[akpm@linux-foundation.org: cleanups]
Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
16 years agoMerge branches 'smbus' and 'fujitsu-fix' into release-2.6.27
Andi Kleen [Thu, 4 Sep 2008 12:33:03 +0000 (14:33 +0200)]
Merge branches 'smbus' and 'fujitsu-fix' into release-2.6.27

16 years agoACPI: Avoid bogus timeout about SMbus check
Zhao Yakui [Tue, 26 Aug 2008 05:57:34 +0000 (13:57 +0800)]
ACPI: Avoid bogus timeout about SMbus check

In the function of wait_transaction_complete when the timeout happens,
OS will try to check the status of SMbus again. If the status is what OS
expected, it will be regarded as the bogus timeout. Otherwise it will be
treated as ETIME.

http://bugzilla.kernel.org/show_bug.cgi?id=10483

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
tested-by    : Oldřich Jedlička < <oldium.pro@seznam.cz>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
16 years agofujitsu-laptop: fix regression for P8010 in 2.6.27-rc
Jonathan Woithe [Fri, 29 Aug 2008 01:36:21 +0000 (11:06 +0930)]
fujitsu-laptop: fix regression for P8010 in 2.6.27-rc

The following patch (based on a patch from Stephen Gildea) fixes a
regression with the LCD brightness keys on Fujitsu P8010 laptops which was
observed with the 2.6.27-rc series (basically they stopped working due to
changes within the fujitsu-laptop and video modules).  Please apply to
2.6.27-rc and acpi git.

A more complete solution for this laptop will be included in an upcoming
patch, hopefully for 2.6.28.  In the meantime this restores most
functionality for P8010 users.

Signed-off-by: Stephen Gildea <stepheng+fujitsu-laptop@gildea.com>
Signed-off-by: Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
16 years agoACPI: Make Len Brown the ACPI maintainer again
Andi Kleen [Thu, 4 Sep 2008 11:30:07 +0000 (13:30 +0200)]
ACPI: Make Len Brown the ACPI maintainer again

Len is back!

Signed-off-by: Andi Kleen <ak@linux.intel.com>
16 years agoPCI: fix pbus_size_mem() resource alignment for CardBus controllers
Linus Torvalds [Thu, 4 Sep 2008 08:33:59 +0000 (01:33 -0700)]
PCI: fix pbus_size_mem() resource alignment for CardBus controllers

Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("PCI: clean up resource
alignment management") changed the resource handling to mark how a
resource was aligned on a per-resource basis.

Thus, instead of looking at the resource number to determine whether it
was a bridge resource or a regular resource (they have different
alignment rules), we should just ask the resource for its alignment
directly.

The reason this broke only cardbus resources was that for the other
types of resources, the old way of deciding alignment actually still
happened to work.  But CardBus bridge resources had been changed by
commit 934b7024f0ed29003c95cef447d92737ab86dc4f ("Fix cardbus resource
allocation") to look more like regular resources than PCI bridge
resources from an alignment handling standpoint.

Reported-and-tested-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agox86: Change warning message in TSC calibration.
Alok N Kataria [Thu, 4 Sep 2008 01:18:01 +0000 (18:18 -0700)]
x86: Change warning message in TSC calibration.

When calibration against PIT fails, the warning that we print is misleading.
In a virtualized environment the VM may get descheduled while calibration
or, the check in PIT calibration may fail due to other virtualization
overheads.

The warning message explicitly assumes that calibration failed due to SMI's
which may not be the case. Change that to something proper.

Signed-off-by: Alok N Kataria <akataria@vmware.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agommap: fix petty bug in anonymous shared mmap offset handling
Tejun Heo [Wed, 3 Sep 2008 14:09:47 +0000 (16:09 +0200)]
mmap: fix petty bug in anonymous shared mmap offset handling

Anonymous mappings should ignore offset but shared anonymous mapping
forgot to clear it and makes the following legit test program trigger
SIGBUS.

 #include <sys/mman.h>
 #include <stdio.h>
 #include <errno.h>

 #define PAGE_SIZE 4096

 int main(void)
 {
 char *p;
 int i;

 p = mmap(NULL, 2 * PAGE_SIZE, PROT_READ|PROT_WRITE,
  MAP_SHARED|MAP_ANONYMOUS, -1, PAGE_SIZE);
 if (p == MAP_FAILED) {
 perror("mmap");
 return 1;
 }

 for (i = 0; i < 2; i++) {
 printf("page %d\n", i);
 p[i * 4096] = i;
 }
 return 0;
 }

Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Hugh Dickins <hugh@veritas.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Thu, 4 Sep 2008 00:57:55 +0000 (17:57 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/security-testing-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
  SELinux: memory leak in security_context_to_sid_core

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Thu, 4 Sep 2008 00:36:37 +0000 (17:36 -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 for getting CPU number in power_save_ppc32_restore()
  powerpc: Fix build error with 64K pages and !hugetlbfs
  powerpc: Work around gcc's -fno-omit-frame-pointer bug
  powerpc: Make sure _etext is after all kernel text
  powerpc: Only make kernel text pages of linear mapping executable
  powerpc: Fix uninitialised variable in VSX alignment code

16 years agox86: add io delay quirk for Presario F700
Chuck Ebbert [Wed, 3 Sep 2008 23:33:14 +0000 (19:33 -0400)]
x86: add io delay quirk for Presario F700

Manually adding "io_delay=0xed" fixes system lockups in ioapic
mode on this machine.

System Information
Manufacturer: Hewlett-Packard
Product Name: Presario F700 (KA695EA#ABF)

Base Board Information
Manufacturer: Quanta
Product Name: 30D3

Reference:
https://bugzilla.redhat.com/show_bug.cgi?id=459546

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 3 Sep 2008 23:21:02 +0000 (16:21 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  bnx2x: Accessing un-mapped page
  ath9k: Fix TX control flag use for no ACK and RTS/CTS
  ath9k: Fix TX status reporting
  iwlwifi: fix STATUS_EXIT_PENDING is not set on pci_remove
  iwlwifi: call apm stop on exit
  iwlwifi: fix Tx cmd memory allocation failure handling
  iwlwifi: fix rx_chain computation
  iwlwifi: fix station mimo power save values
  iwlwifi: remove false rxon if rx chain changes
  iwlwifi: fix hidden ssid discovery in passive channels
  iwlwifi: W/A for the TSF correction in IBSS
  netxen: Remove workaround for chipset quirk
  pcnet-cs, axnet_cs: add new IDs, remove dup ID with less info
  ixgbe: initialize interrupt throttle rate
  net/usb/pegasus: avoid hundreds of diagnostics
  tipc: Don't use structure names which easily globally conflict.

16 years agoSELinux: memory leak in security_context_to_sid_core
Eric Paris [Wed, 3 Sep 2008 15:49:47 +0000 (11:49 -0400)]
SELinux: memory leak in security_context_to_sid_core

Fix a bug and a philosophical decision about who handles errors.

security_context_to_sid_core() was leaking a context in the common case.
This was causing problems on fedora systems which recently have started
making extensive use of this function.

In discussion it was decided that if string_to_context_struct() had an
error it was its own responsibility to clean up any mess it created
along the way.

Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agoMerge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Wed, 3 Sep 2008 21:43:30 +0000 (14:43 -0700)]
Merge branch 'davem-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agobnx2x: Accessing un-mapped page
Eilon Greenstein [Wed, 3 Sep 2008 21:38:00 +0000 (14:38 -0700)]
bnx2x: Accessing un-mapped page

The allocated RX buffer size was 64 bytes bigger than the PCI mapped
size with no good reason. If the packet was actually using the buffer up
to its limit and if the last 64 bytes of the buffer crossed 4KB boundary
then an unmapped PCI page was accessed. The fix is to use only one
parameter for the buffer size - there is no need to differentiate
between the buffer size and the PCI mapping size since the extra 64
bytes can actually be used by the FW to align the Ethernet payload to
64 bytes.

Also updating the driver version and date

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoV4L/DVB (8844): dabusb_fpga_download(): fix a memory leak
Adrian Bunk [Wed, 3 Sep 2008 20:12:25 +0000 (17:12 -0300)]
V4L/DVB (8844): dabusb_fpga_download(): fix a memory leak

This patch fixes a memory leak in an error path.

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak
Adrian Bunk [Wed, 3 Sep 2008 20:12:25 +0000 (17:12 -0300)]
V4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak

This patch fixes a memory leak ("fw" wasn't freed).

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8842): vivi_release(): fix use-after-free
Adrian Bunk [Wed, 3 Sep 2008 20:12:25 +0000 (17:12 -0300)]
V4L/DVB (8842): vivi_release(): fix use-after-free

video_device_release() does kfree(), which made the following printk()
doing a use-after-free.

printk() first and release then.

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 (84xxx)
Michael Krufky [Wed, 3 Sep 2008 20:12:24 +0000 (17:12 -0300)]
V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500 (84xxx)

This adds basic support for the Hauppauge Nova-TD-500 84xxx series.

A future patch will allow for one aerial input to supply both tuners.

With the current code, an aerial must be plugged into each antannae input
in order for both tuners to function.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8839): dib0700: add comment to identify 35th USB id pair
Michael Krufky [Wed, 3 Sep 2008 20:12:24 +0000 (17:12 -0300)]
V4L/DVB (8839): dib0700: add comment to identify 35th USB id pair

This comment helps to make the code more readable.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8837): dvb: fix I2C adapters name size
Jean Delvare [Wed, 3 Sep 2008 20:12:23 +0000 (17:12 -0300)]
V4L/DVB (8837): dvb: fix I2C adapters name size

Some DVB drivers are incorrectly assuming that the size of
i2c_adapter.name is I2C_NAME_SIZE.  Here's a fix.

Also change strncpy to strlcpy, as the former is error-prone (and was
indeed incorrectly used.)

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Uwe Bugla <uwe.bugla@gmx.de>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer added in sonixb.
Hans de Goede [Wed, 3 Sep 2008 20:12:22 +0000 (17:12 -0300)]
V4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer added in sonixb.

1) Lower the hstart setting for all sensor by 1 so that we generate
   (compressed) BGGR data just like sn9c102 does (instead of GBRG data)
2) Add support for raw bayer output in the lowest resolutions (not enough
   bandwidth for higher resolutions), this should work with all sensors but
   to be sure only enable it for sensors where it has been tested.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed images.
Hans de Goede [Wed, 3 Sep 2008 20:12:22 +0000 (17:12 -0300)]
V4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed images.

Under certain conditions sonixb compressed frame size can get bigger then
the uncompressed size (seen with 0c45:6028), so make the buffers slightly
bigger.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8833): gspca: Cleanup the sonixb code.
Hans de Goede [Wed, 3 Sep 2008 20:12:21 +0000 (17:12 -0300)]
V4L/DVB (8833): gspca: Cleanup the sonixb code.

-the usb-id table caried several flags which were not usb-id specific but
 sensor specific, add a sensor_data array and move these flag there
-fr_h_sz was being abused to store and check which bridge was being used
 instead add a bridge member to the sd struct
-now that we have a sensor_data table use that to store pointers to
 init_sequences instead of using switch cases on sd->sensor

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:20 +0000 (17:12 -0300)]
V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8831): gspca: Resolve webcam conflicts between some drivers.
Hans de Goede [Wed, 3 Sep 2008 20:12:20 +0000 (17:12 -0300)]
V4L/DVB (8831): gspca: Resolve webcam conflicts between some drivers.

-remove USB-id's from zc0301 for cams for which zc0301.c does not support
  the sensor
-remove USB-id's from sn9c102 for cams where sn9c102 does not support the
  bridge sensor combination
-no longer make inclusion of usb id's removed from zc0301 and sn9c102
  conditional in gspca
-fix conditional inclusion of USB-id's in gspca to also work when the
  conflicting drivers are build as a module
-add a number of USB-id's to gspca from various windows .inf files:
0c45:608f from generic sonix sn9c103 inf file (+ ov7630 which we support)
041e:4022 from creative webcam nx pro, same as already supported 041e:401e
0ac8:0301 from generic zc0301 driver which supports many sensors
10fd:804d from typhoon webshot driver (also FlyCAM-USB 300 plus)

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8830): gspca: Move some probe code to the new init function.
Hans de Goede [Wed, 3 Sep 2008 20:12:19 +0000 (17:12 -0300)]
V4L/DVB (8830): gspca: Move some probe code to the new init function.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8829): gspca: Have a clean kmalloc-ated buffer for USB exchanges.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:19 +0000 (17:12 -0300)]
V4L/DVB (8829): gspca: Have a clean kmalloc-ated buffer for USB exchanges.

The USB buffer may be used for DMA and there may be a caching problem
if the buffer is part of the device structure.
Thanks to Alan Stern.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8828): gspca: Set the clock at the end of initialization in sonixj.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:18 +0000 (17:12 -0300)]
V4L/DVB (8828): gspca: Set the clock at the end of initialization in sonixj.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8827): gspca: Stop pac7302 autogain oscillation.
Hans de Goede [Wed, 3 Sep 2008 20:12:18 +0000 (17:12 -0300)]
V4L/DVB (8827): gspca: Stop pac7302 autogain oscillation.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8826): gspca: Webcam Labtec 2200 (093a:2626) added in pac7311.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:17 +0000 (17:12 -0300)]
V4L/DVB (8826): gspca: Webcam Labtec 2200 (093a:2626) added in pac7311.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8825): gspca: More controls for pac73xx and new webcam 093a:2624.
Hans de Goede [Wed, 3 Sep 2008 20:12:17 +0000 (17:12 -0300)]
V4L/DVB (8825): gspca: More controls for pac73xx and new webcam 093a:2624.

-Add usb id for 093a:2624 (pac7302)
-Report some controls to userspace with 7302 only, as they are 7302 only
-Add gain and exposure controls
-Add autogain
-Fix 7302 imaged being mirrored by default

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8824): gspca: Too much code removed in the suspend/resume changeset.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:17 +0000 (17:12 -0300)]
V4L/DVB (8824): gspca: Too much code removed in the suspend/resume changeset.

- the stream must stop when the main application closes the device.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8823): gspca: H and V flips work for ov7670 only in ov519.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:16 +0000 (17:12 -0300)]
V4L/DVB (8823): gspca: H and V flips work for ov7670 only in ov519.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8822): gspca: Change some subdriver functions for suspend/resume.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:16 +0000 (17:12 -0300)]
V4L/DVB (8822): gspca: Change some subdriver functions for suspend/resume.

- new function 'init' called on probe and resume
- remove the functions 'open' and 'closed'
- 'stopN' and 'stop0' are optional

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8820): gspca: Change initialization and gamma of zc3xx - pas106.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:16 +0000 (17:12 -0300)]
V4L/DVB (8820): gspca: Change initialization and gamma of zc3xx - pas106.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8819): gspca: Initialize the ov519 at open time and source cleanup.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:15 +0000 (17:12 -0300)]
V4L/DVB (8819): gspca: Initialize the ov519 at open time and source cleanup.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8818): gspca: Reinitialize the device on resume.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:15 +0000 (17:12 -0300)]
V4L/DVB (8818): gspca: Reinitialize the device on resume.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8817): gspca: LED and proble changes in sonixb.
Hans de Goede [Wed, 3 Sep 2008 20:12:15 +0000 (17:12 -0300)]
V4L/DVB (8817): gspca: LED and proble changes in sonixb.

- turn the led of the cam off after plugging in the cam
- move the probe code from open to config, so that if the probe fails
  we never register

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8816): gspca: Set disabled ctrls and fix a register pb with ovxxxx in sonixb.
Hans de Goede [Wed, 3 Sep 2008 20:12:15 +0000 (17:12 -0300)]
V4L/DVB (8816): gspca: Set disabled ctrls and fix a register pb with ovxxxx in sonixb.

- set some controls as disabled instead of copying the device descr.
- in the ov6650 / 7650 exposure code clamp reg 11 before (instead of after)
  using it to calculate reg 10.
- disable brightness (instead of ignoring it) for the TAS5110.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8815): gspca: Fix problems with disabled controls.
Hans de Goede [Wed, 3 Sep 2008 20:12:14 +0000 (17:12 -0300)]
V4L/DVB (8815): gspca: Fix problems with disabled controls.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8814): gspca: Set DISABLED the disabled controls at query control time.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:14 +0000 (17:12 -0300)]
V4L/DVB (8814): gspca: Set DISABLED the disabled controls at query control time.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8813): gspca: Adjust SOF detection for pac73xx.
Hans de Goede [Wed, 3 Sep 2008 20:12:14 +0000 (17:12 -0300)]
V4L/DVB (8813): gspca: Adjust SOF detection for pac73xx.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8812): gspca: Do pac73xx webcams work.
Hans de Goede [Wed, 3 Sep 2008 20:12:14 +0000 (17:12 -0300)]
V4L/DVB (8812): gspca: Do pac73xx webcams work.

- documentation for some registers
- some preparations for adding autogain_n_exposure functionality
- various pac7311 fixes
- disable brightness and colors controls for 7311
- fix contrast control for 7311
- add hflip and vflip controls for 7311
- minimal jpeg header
- proper SOF detection

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8810): gspca: Compile error when CONFIG_PM not defined.
Jean-Francois Moine [Wed, 3 Sep 2008 20:12:13 +0000 (17:12 -0300)]
V4L/DVB (8810): gspca: Compile error when CONFIG_PM not defined.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8809): gspca: Revert commit 9a9335776548d01525141c6e8f0c12e86bbde982
Hans de Goede [Wed, 3 Sep 2008 20:12:13 +0000 (17:12 -0300)]
V4L/DVB (8809): gspca: Revert commit 9a9335776548d01525141c6e8f0c12e86bbde982

the previous patch (sensor upside down).

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8805): Steven Toth email address change
Steven Toth [Wed, 3 Sep 2008 20:12:12 +0000 (17:12 -0300)]
V4L/DVB (8805): Steven Toth email address change

I need this so I can better isolate my linux email from my
corporate email.

Signed-off-by: Steven Toth <stoth@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8804): s5h1411: Enable QAM_AUTO mode
Steven Toth [Wed, 3 Sep 2008 20:12:12 +0000 (17:12 -0300)]
V4L/DVB (8804): s5h1411: Enable QAM_AUTO mode

If apps pass QAM_AUTO then we need to obey it.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8803): s5h1409: Enable QAM_AUTO mode
Steven Toth [Wed, 3 Sep 2008 20:12:12 +0000 (17:12 -0300)]
V4L/DVB (8803): s5h1409: Enable QAM_AUTO mode

If apps pass QAM_AUTO then we need to obey it.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8790): saa7115: call i2c_set_clientdata only when state != NULL
Hans Verkuil [Wed, 3 Sep 2008 20:12:09 +0000 (17:12 -0300)]
V4L/DVB (8790): saa7115: call i2c_set_clientdata only when state != NULL

Not a bug as such, but it looks really strange doing this before
checking whether the state structure could be allocated.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8779): v4l: fix more incorrect video_register_device result checks
Hans Verkuil [Wed, 3 Sep 2008 20:11:58 +0000 (17:11 -0300)]
V4L/DVB (8779): v4l: fix more incorrect video_register_device result checks

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8778): radio: fix incorrect video_register_device result check
Hans Verkuil [Wed, 3 Sep 2008 20:11:58 +0000 (17:11 -0300)]
V4L/DVB (8778): radio: fix incorrect video_register_device result check

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8769): cx18: Simplify queue flush logic to prevent oops in cx18_flush_queues()
Andy Walls [Wed, 3 Sep 2008 20:11:54 +0000 (17:11 -0300)]
V4L/DVB (8769): cx18: Simplify queue flush logic to prevent oops in cx18_flush_queues()

cx18: Simplify queue flush logic to prevent oops in cx18_flush_queues().
If accounting of a queue is in error, logic borrowed from ivtv will cause
an oops when flushing the queues for a stream.  This change greatly
simplifies the queue flush logic, and sets the queue back to sane
defaults on a flush.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings
Hans Verkuil [Wed, 3 Sep 2008 20:11:54 +0000 (17:11 -0300)]
V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings

Fixed a lot of sparse warnings: mostly warnings about shadowed variables
and signed/unsigned mismatches.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8751): vivi: Fix some issues at vivi register routine
Mauro Carvalho Chehab [Wed, 3 Sep 2008 20:11:53 +0000 (17:11 -0300)]
V4L/DVB (8751): vivi: Fix some issues at vivi register routine

This patch fixes several small issues at vivi register routines:

1) minor and n_devs should be unsigned;
2) n_devs = 0 were not properly handled;
3) if n_devs specify a high number, the driver would just roll back and
won't register any device. The proper behaviour is to keep all succeded
devices registered;
4) both n_devs and minor were using 0 as permissions. Better to have
them with 0444.

With the current patch, if n_devs specify a very large value, it will
register all possible devices. For example, on a machine without any
other V4L drivers loaded, with this patch, we will have something like:

vivi: V4L2 device registered as /dev/video0
vivi: V4L2 device registered as /dev/video1
vivi: V4L2 device registered as /dev/video2
...
vivi: V4L2 device registered as /dev/video31
video_register_device_index: get_index failed
Video Technology Magazine Virtual Video Capture Board ver 0.5.0 successfully loaded.

5) The number of allocated devices on success is now kept at n_devs:

$ cat /sys/module/vivi/parameters/n_devs
32

Thanks to Henne <henne@nachtwindheim.de> for pointing that there were
some issues at vivi.

Cc: Henne <henne@nachtwindheim.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8750): V4L: check inval in video_register_device_index()
Henrik Kretzschmar [Wed, 3 Sep 2008 20:11:53 +0000 (17:11 -0300)]
V4L/DVB (8750): V4L: check inval in video_register_device_index()

Better check the video_device pointer before using it.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8749): Fix error code, when camera is not turned on by sonypi
Mauro Carvalho Chehab [Wed, 3 Sep 2008 20:11:52 +0000 (17:11 -0300)]
V4L/DVB (8749): Fix error code, when camera is not turned on by sonypi

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8728): 1-make-pms-not-autoprobe-when-builtin update
Rene Herman [Wed, 3 Sep 2008 19:48:23 +0000 (16:48 -0300)]
V4L/DVB (8728): 1-make-pms-not-autoprobe-when-builtin update

On 10-08-08 23:37, Alan Cox wrote:
>
> Would probably make the printk "pms: not enabled, use pms.enable=1 to
> probe"
>
> So you know
> a) What is wittering about not being probed
> b) How to undo it.
>
> But thats trivia really.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (8727): V4L1: make PMS not autoprobe when builtin.
Rene Herman [Wed, 3 Sep 2008 19:48:21 +0000 (16:48 -0300)]
V4L/DVB (8727): V4L1: make PMS not autoprobe when builtin.

The old Mediavision Pro Movie Studio legacy ISA V4L1 driver was found to
hang the boot during Ingo Molnar's testing of randconfig kernels.  Have it
require a "pms.enable=1" kernel parameter to enable the driver when
builtin which avoids such problems.

This is a deprecated and, very likely, unused driver.  Nothing changes
modular behaviour moreover.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (8726): link tuner before saa7134
Simon Arlott [Wed, 3 Sep 2008 19:48:20 +0000 (16:48 -0300)]
V4L/DVB (8726): link tuner before saa7134

If saa7134_init is run before v4l2_i2c_drv_init (tuner), then
saa7134_board_init2 will try to set the tuner type for devices that don't
exist yet.  This moves tuner to before all of the device-specific drivers
so that it's loaded early enough on boot.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (8722): sms1xxx: fix typo in license header
Michael Krufky [Wed, 3 Sep 2008 19:48:17 +0000 (16:48 -0300)]
V4L/DVB (8722): sms1xxx: fix typo in license header

This should have read, "GNU General Public License version 2"
rather than, "GNU General Public License version 3"

This was actually a typo mass-blunder -- this is not a change in licence,
as the code was always GPLv2.

Signed-off-by: Uri Shkolnik <uris@siano-ms.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
16 years agoV4L/DVB (8720): gspca: V4L2_CAP_SENSOR_UPSIDE_DOWN added as a cap for some webcams.
Hans de Goede [Wed, 3 Sep 2008 19:48:16 +0000 (16:48 -0300)]
V4L/DVB (8720): gspca: V4L2_CAP_SENSOR_UPSIDE_DOWN added as a cap for some webcams.

This patch adds a V4L2_CAP_SENSOR_UPSIDE_DOWN flag to the capabilities flags,
and sets this flag for the Philips SPC200NC cam (which has its sensor installed
upside down). The same flag is also needed and added for the Philips SPC300NC.

Together with a patch to libv4l which adds flipping the image in software this
fixes the upside down display with the SPC200NC cam.

Signed-of-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>