deliverable/linux.git
16 years agolibata: eliminate the home grown dma padding in favour of
James Bottomley [Tue, 19 Feb 2008 10:36:56 +0000 (11:36 +0100)] 
libata: eliminate the home grown dma padding in favour of

that provided by the block layer

ATA requires that all DMA transfers begin and end on word boundaries.
Because of this, a large amount of machinery grew up in ide to adjust
scatterlists on this basis.  However, as of 2.5, the block layer has a
dma_alignment variable which ensures both the beginning and length of a
DMA transfer are aligned on the dma_alignment boundary.  Although the
block layer does adjust the beginning of the transfer to ensure this
happens, it doesn't actually adjust the length, it merely makes sure
that space is allocated for transfers beyond the declared length.  The
upshot of this is that scatterlists may be padded to any size between
the actual length and the length adjusted to the dma_alignment safely
knowing that memory is allocated in this region.

Right at the moment, SCSI takes the default dma_aligment which is on a
512 byte boundary.  Note that this aligment only applies to transfers
coming in from user space.  However, since all kernel allocations are
automatically aligned on a minimum of 32 byte boundaries, it is safe to
adjust them in this manner as well.

tj: * Adjusting sg after padding is done in block layer.  Make libata
      set queue alignment correctly for ATAPI devices and drop broken
      sg mangling from ata_sg_setup().
    * Use request->raw_data_len for ATAPI transfer chunk size.
    * Killed qc->raw_nbytes.
    * Separated out killing qc->n_iter.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: clear drain buffer if draining for write command
Tejun Heo [Tue, 19 Feb 2008 10:36:55 +0000 (11:36 +0100)] 
block: clear drain buffer if draining for write command

Clear drain buffer before chaining if the command in question is a
write.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: implement request_queue->dma_drain_needed
Tejun Heo [Tue, 19 Feb 2008 10:36:53 +0000 (11:36 +0100)] 
block: implement request_queue->dma_drain_needed

Draining shouldn't be done for commands where overflow may indicate
data integrity issues.  Add dma_drain_needed callback to
request_queue.  Drain buffer is appened iff this function returns
non-zero.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: add request->raw_data_len
Tejun Heo [Tue, 19 Feb 2008 10:36:35 +0000 (11:36 +0100)] 
block: add request->raw_data_len

With padding and draining moved into it, block layer now may extend
requests as directed by queue parameters, so now a request has two
sizes - the original request size and the extended size which matches
the size of area pointed to by bios and later by sgs.  The latter size
is what lower layers are primarily interested in when allocating,
filling up DMA tables and setting up the controller.

Both padding and draining extend the data area to accomodate
controller characteristics.  As any controller which speaks SCSI can
handle underflows, feeding larger data area is safe.

So, this patch makes the primary data length field, request->data_len,
indicate the size of full data area and add a separate length field,
request->raw_data_len, for the unmodified request size.  The latter is
used to report to higher layer (userland) and where the original
request size should be fed to the controller or device.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: update bio according to DMA alignment padding
Tejun Heo [Tue, 19 Feb 2008 10:35:38 +0000 (11:35 +0100)] 
block: update bio according to DMA alignment padding

DMA start address and transfer size alignment for PC requests are
achieved using bio_copy_user() instead of bio_map_user().  This works
because bio_copy_user() always uses full pages and block DMA alignment
isn't allowed to go over PAGE_SIZE.

However, the implementation didn't update the last bio of the request
to make this padding visible to lower layers.  This patch makes
blk_rq_map_user() extend the last bio such that it includes the
padding area and the size of area pointed to by the request is
properly aligned.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agolibata: update ATAPI overflow draining
Tejun Heo [Tue, 19 Feb 2008 10:35:37 +0000 (11:35 +0100)] 
libata: update ATAPI overflow draining

For misc ATAPI commands which transfer variable length data to the
host, overflow can occur due to application or hardware bug.  Such
overflows can be ignored safely as long as overflow data is properly
drained.  libata HSM implementation has this implemented in
__atapi_pio_bytes() and recently updated for 2.6.24-rc but it requires
further improvements.  Improve drain logic such that...

* Report overflow errors using ehi desc mechanism instead of printing
  directly.

* Properly calculate the number of bytes to be drained considering
  actual number of consumed bytes for partial draining.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoelevator: make elevator_get() attempt to load the appropriate module
Jens Axboe [Tue, 19 Feb 2008 09:20:37 +0000 (10:20 +0100)] 
elevator: make elevator_get() attempt to load the appropriate module

Currently we fail if someone requests a valid io scheduler, but it's
modular and not currently loaded. That can happen from a driver init
asking for a different scheduler, or online switching through sysfs
as requested by a user.

This patch makes elevator_get() request_module() to attempt to load
the appropriate module, instead of requiring that done manually.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agocfq-iosched: add hlist for browsing parallel to the radix tree
Jens Axboe [Tue, 19 Feb 2008 09:02:29 +0000 (10:02 +0100)] 
cfq-iosched: add hlist for browsing parallel to the radix tree

It's cumbersome to browse a radix tree from start to finish, especially
since we modify keys when a process exits. So add a hlist for the single
purpose of browsing over all known cfq_io_contexts, used for exit,
io prio change, etc.

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=9948

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: make blk_rq_map_user() clear ->bio if it unmaps it
Jens Axboe [Mon, 18 Feb 2008 12:51:56 +0000 (13:51 +0100)] 
block: make blk_rq_map_user() clear ->bio if it unmaps it

That way the interface is symmetric, and calling blk_rq_unmap_user()
on the request wont oops.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agofs/block_dev.c: remove #if 0'ed code
Adrian Bunk [Mon, 18 Feb 2008 12:48:32 +0000 (13:48 +0100)] 
fs/block_dev.c: remove #if 0'ed code

Commit b2e895dbd80c420bfc0937c3729b4afe073b3848 #if 0'ed this code stating:

<--  snip  -->

    [PATCH] revert blockdev direct io back to 2.6.19 version

    Andrew Vasquez is reporting as-iosched oopses and a 65% throughput
    slowdown due to the recent special-casing of direct-io against
    blockdevs.  We don't know why either of these things are occurring.

    The patch minimally reverts us back to the 2.6.19 code for a 2.6.20
    release.

<--  snip  -->

It has since been dead code, and unless someone wants to revive it now
it's time to remove it.

This patch also makes bio_release_pages() static again and removes the
ki_bio_count member from struct kiocb, reverting changes that had been
done for this dead code.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agomake struct def_blk_aops static
Adrian Bunk [Mon, 18 Feb 2008 12:48:31 +0000 (13:48 +0100)] 
make struct def_blk_aops static

This patch makes the needlessly global struct def_blk_aops static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agomake blk_settings_init() static
Adrian Bunk [Mon, 18 Feb 2008 12:45:55 +0000 (13:45 +0100)] 
make blk_settings_init() static

blk_settings_init() can become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agomake blk_ioc_init() static
Adrian Bunk [Mon, 18 Feb 2008 12:45:53 +0000 (13:45 +0100)] 
make blk_ioc_init() static

blk_ioc_init() can become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agomake blk-core.c:request_cachep static again
Adrian Bunk [Mon, 18 Feb 2008 12:45:51 +0000 (13:45 +0100)] 
make blk-core.c:request_cachep static again

request_cachep needlessly became global.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Tue, 19 Feb 2008 02:46:56 +0000 (18:46 -0800)] 
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide-cd: fix missing residual count setting in DMA mode
  ht6560b: force prefetch for some devices
  ht6560b can only do up to PIO mode 4
  linux/hdsmart.h: fix goofups (take 2)
  via82cxxx: add new PCI id for cx700
  falconide: locking bugfix
  MAINTAINERS: update ide-cd maintainer's email address
  ide/libata: ST310211A has buggy HPA too
  ide: Add missing base addresses for falconide and macide

16 years agoAudit: use == not = in if statements
Eric Paris [Mon, 18 Feb 2008 23:23:16 +0000 (18:23 -0500)] 
Audit: use == not = in if statements

Clearly this was supposed to be an == not an = in the if statement.
This patch also causes us to stop processing execve args once we have
failed rather than continuing to loop on failure over and over and over.

Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoide-cd: fix missing residual count setting in DMA mode
Kiyoshi Ueda [Tue, 19 Feb 2008 00:41:26 +0000 (01:41 +0100)] 
ide-cd: fix missing residual count setting in DMA mode

This patch fixes the missing residual count setting in DMA mode,
which was introduced during the conversion to blk-end-request.
The residual count could be used by the request submitter.
So if it isn't set correctly, some upper layers does not work.
(e.g. wodim for CD burning.)

The bug is in only DMA mode.
In PIO mode, we are setting the residual count correctly,
so no need to fix.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Reported-by: Andreas Schwab <schwab@suse.de>
Tested-by: Andreas Schwab <schwab@suse.de>
Tested-by: Laura Garcia <nevola@gmail.com>
Tested-by: Borislav Petkov <petkovbb@googlemail.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoht6560b: force prefetch for some devices
Jan Evert van Grootheest [Tue, 19 Feb 2008 00:41:26 +0000 (01:41 +0100)] 
ht6560b: force prefetch for some devices

Prefetch needs to be set for some ide devices to work when connected to
a ht6560b interface. This was not always done properly, causing a system
with a HD and CD on the primary interface to not work properly. Or, in
effect, hang hard.

This patch forces prefetch on devices before checking whether it
is necessary to change the settings in the interface

This patch should also be applied to 2.4. I don't currently have a
2.4 tree around.

(also change my email address)

Signed-off-by: Jan Evert van Grootheest <janevert@caiway.nl>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoht6560b can only do up to PIO mode 4
Jan Evert van Grootheest [Tue, 19 Feb 2008 00:41:26 +0000 (01:41 +0100)] 
ht6560b can only do up to PIO mode 4

According to the datasheet, ht6560b only supports up to PIO mode 4.

[bart: manually ported it over 2.6.25-rc2]

Signed-off-by: Jan Evert van Grootheest <janevert@caiway.nl>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agolinux/hdsmart.h: fix goofups (take 2)
Bartlomiej Zolnierkiewicz [Tue, 19 Feb 2008 00:41:26 +0000 (01:41 +0100)] 
linux/hdsmart.h: fix goofups (take 2)

Fix goofups of commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c
("<linux/hdsmart.h> is not used by kernel code").

Also update include/linux/Kbuild to reflect the fact that hdsmart.h
uses __KERNEL__ ifdefs now.

Reported-by: "Robert P. J. Day" <rpjday@crashcourse.ca>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agovia82cxxx: add new PCI id for cx700
Andrew Smith [Tue, 19 Feb 2008 00:41:26 +0000 (01:41 +0100)] 
via82cxxx: add new PCI id for cx700

[bart: manually ported it over via82cxxx changes]

From: Andrew Smith <asmith@tranquility.fsbusiness.co.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agofalconide: locking bugfix
Bartlomiej Zolnierkiewicz [Tue, 19 Feb 2008 00:41:25 +0000 (01:41 +0100)] 
falconide: locking bugfix

commit 8ac4ce742c66100931b6f2d7a36b0df08bc721fe ("ide: fix host drivers
depending on ide_generic to probe for interfaces (take 2)") moved probing
to falconide but forgot to take care of Atari specific locking - fix it.

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoMAINTAINERS: update ide-cd maintainer's email address
Borislav Petkov [Tue, 19 Feb 2008 00:41:25 +0000 (01:41 +0100)] 
MAINTAINERS: update ide-cd maintainer's email address

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide/libata: ST310211A has buggy HPA too
Mikko Rapeli [Tue, 19 Feb 2008 00:41:25 +0000 (01:41 +0100)] 
ide/libata: ST310211A has buggy HPA too

Signed-off-by: Mikko Rapeli <mikko.rapeli@teleca.com>
Tested-by: Bart Champagne <bart@as35701.net>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: Add missing base addresses for falconide and macide
Geert Uytterhoeven [Tue, 19 Feb 2008 00:41:24 +0000 (01:41 +0100)] 
ide: Add missing base addresses for falconide and macide

commit 29dd59755a849cc6475faa6a75f3b804e23a6fc2 ("ide: remove ide_setup_ports")
forgot to take into account the base addresses for the CONTROL registers for
falconide and macide, as pointed out by Michael Schmitz.

Falconide was tested on Aranym.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Mon, 18 Feb 2008 23:52:40 +0000 (15:52 -0800)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/nes: Fix possible array overrun
  RDMA/nes: Fix VLAN support
  RDMA/nes: Fix MAC interrupt erroneously masked on ifdown
  IB: Fix return value in ib_device_register_sysfs()

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Mon, 18 Feb 2008 23:51:40 +0000 (15:51 -0800)] 
Merge git://git./linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: fix lguest build failure
  x86: reenable support for system without on node0
  x86: CPA: avoid double checking of alias ranges
  x86: CPA no alias checking for _NX
  x86: zap invalid and unused pmds in early boot
  x86: CPA, fix alias checks

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Mon, 18 Feb 2008 23:49:47 +0000 (15:49 -0800)] 
Merge git://git./linux/kernel/git/mchehab/v4l-dvb

* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (59 commits)
  V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum
  V4L/DVB (7205): tuner-xc2028 depends on FW_LOADER
  V4L/DVB (7201): cx88-mpeg: Fix race condition in variable access
  V4L/DVB (7200): Fix FM firmware loading
  V4L/DVB (7198): V4L, include ioctl.h in videodev headers
  V4L/DVB (7197): bttv: Fix overlay divide error
  V4L/DVB (7195): xc5000: fix build error when built as module
  V4L/DVB (7194): cx88-mpeg: Allow concurrent access to cx88-mpeg devices
  V4L/DVB (7193): tveeprom: Add proper tuner mapping for hauppauge eeprom id 133
  V4L/DVB (7192): Adds support for Genius TVGo A11MCE
  V4L/DVB (7189): autosuspend support
  V4L/DVB (7188): radio-si470x version 1.0.6
  V4L/DVB (7186): tda10086: make the 22kHz tone for DISEQC a config option
  V4L/DVB (7183): radio-si470x: fix build warning
  V4L/DVB (7180): em28xx: add URB_NO_TRANSFER_DMA_MAP, since urb->transfer_dma is set
  V4L/DVB (7179): Allow more than one em28xx board
  V4L/DVB (7164): em28xx-alsa: Add a missing mutex
  V4L/DVB (7163): em28xx: makes audio settings more stable
  V4L/DVB (7162): em28xx: Fix endian and returns the correct values
  V4L/DVB (7161): em28xx: Fix printing debug values higher than 127
  ...

16 years agoMerge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
Linus Torvalds [Mon, 18 Feb 2008 23:46:21 +0000 (15:46 -0800)] 
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6

* 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
  [XFS] Added quota targets and removed dmapi directory
  [XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules)
  [XFS] Remove Makefile wrappers in XFS

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 18 Feb 2008 23:46:03 +0000 (15:46 -0800)] 
Merge git://git./linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] null: Add missing Kconfig dependency on BLKCIPHER
  [CRYPTO] tcrypt: Add missing Kconfig dependency on BLKCIPHER
  [HIFN]: Fix invalid config ifdefs for RNG support

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
Linus Torvalds [Mon, 18 Feb 2008 23:45:48 +0000 (15:45 -0800)] 
Merge git://git./linux/kernel/git/tglx/linux-2.6-hrt

* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:
  timer_list: print relative expiry time signed

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Mon, 18 Feb 2008 23:41:05 +0000 (15:41 -0800)] 
Merge git://git./linux/kernel/git/sam/kbuild

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
  kbuild: explain why DEBUG_SECTION_MISMATCH is UNDEFINED
  kbuild: fix building vmlinux.o
  kbuild: allow -fstack-protector to take effect
  kconfig: fix select in combination with default

16 years agox86: fix lguest build failure
Rusty Russell [Sun, 3 Feb 2008 20:11:10 +0000 (07:11 +1100)] 
x86: fix lguest build failure

drivers/lguest/x86/switcher_32.S:(.text+0x3815f8):
undefined reference to `LGUEST_PAGES_regs_trapnum'

This problem was caused by asm-offsets.c only having the offsets when
lguest *guest* support was set, not lguest host (host support used to
imply guest support, so now they're separate these bugs come out).

Lguest guest support and host support are separate config options:
they used to be tied together. Sort out which parts of asm-offsets are
needed for Guest and Host.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: reenable support for system without on node0
Yinghai Lu [Sun, 17 Feb 2008 10:02:21 +0000 (02:02 -0800)] 
x86: reenable support for system without on node0

One system doesn't have RAM for node0 installed.

SRAT: PXM 0 -> APIC 0 -> Node 0
SRAT: PXM 0 -> APIC 1 -> Node 0
SRAT: PXM 1 -> APIC 2 -> Node 1
SRAT: PXM 1 -> APIC 3 -> Node 1
SRAT: Node 1 PXM 1 0-a0000
SRAT: Node 1 PXM 1 0-dd000000
SRAT: Node 1 PXM 1 0-123000000
ACPI: SLIT: nodes = 2
 10 13
 13 10
mapped APIC to ffffffffff5fb000 (        fee00000)
Bootmem setup node 1 0000000000000000-0000000123000000
  NODE_DATA [000000000000e000 - 0000000000014fff]
  bootmap [0000000000015000 -  00000000000395ff] pages 25
Could not find start_pfn for node 0
Pid: 0, comm: swapper Not tainted 2.6.24-smp-g5a514e21-dirty #14

Call Trace:
 [<ffffffff80bab498>] free_area_init_node+0x22/0x381
 [<ffffffff8045ffc5>] generic_swap+0x0/0x17
 [<ffffffff80bab0cc>] find_zone_movable_pfns_for_nodes+0x54/0x271
 [<ffffffff80baba5f>] free_area_init_nodes+0x239/0x287
 [<ffffffff80ba6311>] paging_init+0x46/0x4c
 [<ffffffff80b9dda5>] setup_arch+0x3c3/0x44e
 [<ffffffff80b978be>] start_kernel+0x6f/0x2c7
 [<ffffffff80b971cc>] _sinittext+0x1cc/0x1d3

This happens because node 0 is not online, but the node state in
mm/page_alloc.c has node 0 set.

        nodemask_t node_states[NR_NODE_STATES] __read_mostly = {
                [N_POSSIBLE] = NODE_MASK_ALL,
                [N_ONLINE] = { { [0] = 1UL } },

So we need to clear node_online_map before initializing the memory.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: CPA: avoid double checking of alias ranges
Thomas Gleixner [Fri, 15 Feb 2008 21:17:57 +0000 (22:17 +0100)] 
x86: CPA: avoid double checking of alias ranges

When the CPA code is called with an virtual address in the range of
the direct mapping or the high alias then we do not need to run
through the alias check for this range.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: CPA no alias checking for _NX
Thomas Gleixner [Fri, 15 Feb 2008 20:49:46 +0000 (21:49 +0100)] 
x86: CPA no alias checking for _NX

NX settings are not required to be consistent across alias mappings.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: zap invalid and unused pmds in early boot
Thomas Gleixner [Fri, 15 Feb 2008 16:29:12 +0000 (17:29 +0100)] 
x86: zap invalid and unused pmds in early boot

The early boot code maps KERNEL_TEXT_SIZE (currently 40MB) starting
from __START_KERNEL_map. The kernel itself only needs _text to _end
mapped in the high alias. On relocatible kernels the ASM setup code
adjusts the compile time created high mappings to the relocation. This
creates invalid pmd entries for negative offsets:

0xffffffff80000000 -> pmd entry: ffffffffff2001e3
It points outside of the physical address space and is marked present.

This starts at the virtual address __START_KERNEL_map and goes up to
the point where the first valid physical address (0x0) is mapped.

Zap the mappings before _text and after _end right away in early
boot. This removes also the invalid entries.

Furthermore it simplifies the range check for high aliases.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: CPA, fix alias checks
Thomas Gleixner [Mon, 18 Feb 2008 19:54:14 +0000 (20:54 +0100)] 
x86: CPA, fix alias checks

c_p_a() did not discover all aliases correctly. (such as when called
on vmalloc()-ed areas or ioremap()-ed areas)

Push the alias checks to the lower, physical level and consistently
discover all aliases that might exist: the low direct mappings and
the high linear kernel-text mappings (on 64-bit).

Thanks to Andi Kleen for pointing out that this was buggy.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoRDMA/nes: Fix possible array overrun
Roland Dreier [Mon, 18 Feb 2008 18:33:59 +0000 (10:33 -0800)] 
RDMA/nes: Fix possible array overrun

In nes_create_qp(), the test

if (nesqp->mmap_sq_db_index > NES_MAX_USER_WQ_REGIONS) {

is used to error out if the db_index is too large; however, if the
test doesn't trigger, then the index is used as

nes_ucontext->mmap_nesqp[nesqp->mmap_sq_db_index] = nesqp;

and mmap_nesqp is declared as

struct nes_qp      *mmap_nesqp[NES_MAX_USER_WQ_REGIONS];

which leads to an array overrun if the index is exactly equal to
NES_MAX_USER_WQ_REGIONS.  Fix this by bailing out if the index is
greater than or equal to NES_MAX_USER_WQ_REGIONS.

This was spotted by the Coverity checker (CID 2162).

Acked-by: Glenn Streiff <gstreiff@neteffect.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoV4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum
Mauro Carvalho Chehab [Fri, 15 Feb 2008 21:41:06 +0000 (18:41 -0300)] 
V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum

Thanks to Martin Michlmayr <tbm@cyrius.com> for reporting this issue:

The zoran driver fails to compile on the ARM Orion platform with:

In file included from drivers/media/video/zoran_procfs.c:50:
drivers/media/video/zoran.h:232: error: expected identifier before numeric
constant

The reason is that drivers/media/video/zoran.h defines an enum with
GPIO_MAX in it, but Orion contains a #define GPIO_MAX 32 in
include/asm-arm/arch-orion/orion.h

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7205): tuner-xc2028 depends on FW_LOADER
Paul Mundt [Thu, 14 Feb 2008 10:24:22 +0000 (07:24 -0300)] 
V4L/DVB (7205): tuner-xc2028 depends on FW_LOADER

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7201): cx88-mpeg: Fix race condition in variable access
Ricardo Cerqueira [Thu, 14 Feb 2008 01:41:15 +0000 (22:41 -0300)] 
V4L/DVB (7201): cx88-mpeg: Fix race condition in variable access

There was a possible race condition in the increment/decrement of
the active device references counter.
Thanks to Trent Piepho (xyzzy@speakeasy.org) for bringing it up.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7200): Fix FM firmware loading
Mauro Carvalho Chehab [Thu, 14 Feb 2008 04:52:48 +0000 (01:52 -0300)] 
V4L/DVB (7200): Fix FM firmware loading

There's no need to load SCode table for FM.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7198): V4L, include ioctl.h in videodev headers
Jiri Slaby [Wed, 13 Feb 2008 23:04:49 +0000 (20:04 -0300)] 
V4L/DVB (7198): V4L, include ioctl.h in videodev headers

Fix compilation of user processes which includes videodev*.h but
not includes linux/ioctl.h:

v4l2ext_helper.c: In function 'process_ioctl':
v4l2ext_helper.c:183: warning: implicit declaration of function '_IOWR'
v4l2ext_helper.c:183: error: expected expression before 'struct'
v4l2ext_helper.c:183: error: case label does not reduce to an integer constant

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7197): bttv: Fix overlay divide error
Robert Fitzsimons [Wed, 13 Feb 2008 19:38:11 +0000 (16:38 -0300)] 
V4L/DVB (7197): bttv: Fix overlay divide error

The initial work to convert the bttv driver to V4L2 "Partial conversion
from V4L1 to V4L2" (e84619b17440ccca4e4db7583d126c4189b987e5), missed
the line which set the appropriate overlay crop structure in the newly
allocated bttv_buffer.  This then causes a divide error in the
bttv_calc_geo function.

Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7195): xc5000: fix build error when built as module
Tony Breeds [Tue, 12 Feb 2008 05:54:33 +0000 (02:54 -0300)] 
V4L/DVB (7195): xc5000: fix build error when built as module

drivers/built-in.o: In function `set_type':
tuner-core.c:(.text+0x8879d): undefined reference to `xc5000_attach'

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7194): cx88-mpeg: Allow concurrent access to cx88-mpeg devices
Roland Stoll [Mon, 11 Feb 2008 16:00:34 +0000 (13:00 -0300)] 
V4L/DVB (7194): cx88-mpeg: Allow concurrent access to cx88-mpeg devices

It currently isn't possible to open the frontend device of cx88-mpeg devices
(DVB or Blackbird) multiple times concurrently. (for instance, to attach a
signal monitoring tool while reading a stream, or to send a frequency change
ioctl) This patch fixes that condition.

Signed-off-by: Roland Stoll <roland@xindex.de>
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7193): tveeprom: Add proper tuner mapping for hauppauge eeprom id 133
Ricardo Cerqueira [Wed, 16 Jan 2008 22:56:55 +0000 (19:56 -0300)] 
V4L/DVB (7193): tveeprom: Add proper tuner mapping for hauppauge eeprom id 133

Do away with the need to set tuner=63 on cx88xx with recent HVR-1300 boards

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7192): Adds support for Genius TVGo A11MCE
Adrian Pardini [Mon, 11 Feb 2008 15:40:53 +0000 (12:40 -0300)] 
V4L/DVB (7192): Adds support for Genius TVGo A11MCE

Signed-off-by: Adrian Pardini <pardo.bsso@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7189): autosuspend support
Tobias Lorenz [Sat, 9 Feb 2008 19:08:24 +0000 (16:08 -0300)] 
V4L/DVB (7189): autosuspend support

Together with Oliver Neukum from Novell, USB autosuspend support was added.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7188): radio-si470x version 1.0.6
Tobias Lorenz [Tue, 5 Feb 2008 01:26:08 +0000 (22:26 -0300)] 
V4L/DVB (7188): radio-si470x version 1.0.6

This patch combines all the finished discussions and its resulting patches from
the mailing list.

The version 1.0.6 is mainly influenced by Oliver Neukum. He found a lot of
small issues, that are fixed with this patch now. For me the most interesting
thing is, that it's now safer to use it on other architectures.

The history for version 1.0.6 is:
- fixed coverity checker warnings in *_usb_driver_disconnect
- probe()/open() race by correct ordering in probe()
- DMA coherency rules by separate allocation of all buffers
- use of endianness macros
- abuse of spinlock, replaced by mutex
- racy handling of timer in disconnect, replaced by delayed_work
- racy interruptible_sleep_on(), replaced with wait_event_interruptible()
- handle signals in read()

The driver is tested with all Debian/testing radio programs and rdsd. The patch
is tested against checkpatch.pl v1.12.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7186): tda10086: make the 22kHz tone for DISEQC a config option
Hartmut Hackmann [Sun, 10 Feb 2008 02:54:24 +0000 (23:54 -0300)] 
V4L/DVB (7186): tda10086: make the 22kHz tone for DISEQC a config option

Some cards need the diseqc signal modulated, while some just need
the envelope to control the LNB supply.

This fixes Bug 9887

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7183): radio-si470x: fix build warning
Michael Krufky [Sun, 10 Feb 2008 23:13:25 +0000 (20:13 -0300)] 
V4L/DVB (7183): radio-si470x: fix build warning

fix the following build warning:

radio-si470x.c: In function 'si470x_get_rds_registers':
radio-si470x.c:562: warning: format '%ld' expects type 'long int',
    but argument 3 has type 'unsigned int'

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7180): em28xx: add URB_NO_TRANSFER_DMA_MAP, since urb->transfer_dma is set
Mauro Carvalho Chehab [Fri, 8 Feb 2008 19:07:04 +0000 (16:07 -0300)] 
V4L/DVB (7180): em28xx: add URB_NO_TRANSFER_DMA_MAP, since urb->transfer_dma is set

Thanks to Alan Stern <stern@rowland.harvard.edu> for pointing this issue.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7179): Allow more than one em28xx board
Mauro Carvalho Chehab [Fri, 8 Feb 2008 18:44:25 +0000 (15:44 -0300)] 
V4L/DVB (7179): Allow more than one em28xx board

em28xx driver is capable of handling more than one usb device. However, isoc
transfers require a large amount of data to be transfered.

Before this patch, just one em28xx board were enough to allocate more than 50%
URBs:

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=480/800 us (60%), #Int=  0, #Iso=  2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

So, only one board could use an USB host at the same time. After the patch, it
is possible to use more than one em28xx at the same time, on the same usb host,
if the image size is slower or equal to 345600, since those images will
require about 30% of the URBs:

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=232/800 us (29%), #Int=  0, #Iso=  2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1

So, in thesis, after the patch, it would be possible to use up to 3 boards by
each usb host, if the devices are generating small images.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7164): em28xx-alsa: Add a missing mutex
Mauro Carvalho Chehab [Wed, 6 Feb 2008 21:52:15 +0000 (18:52 -0300)] 
V4L/DVB (7164): em28xx-alsa: Add a missing mutex

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7163): em28xx: makes audio settings more stable
Mauro Carvalho Chehab [Wed, 6 Feb 2008 21:34:13 +0000 (18:34 -0300)] 
V4L/DVB (7163): em28xx: makes audio settings more stable

Improves audio configurations on em28xx:
        - mutes audio before changing amux;
        - adds a delay after setting audio src;
        - waits up to 50ms for ac97 busy.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7162): em28xx: Fix endian and returns the correct values
Mauro Carvalho Chehab [Wed, 6 Feb 2008 18:56:16 +0000 (15:56 -0300)] 
V4L/DVB (7162): em28xx: Fix endian and returns the correct values

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7161): em28xx: Fix printing debug values higher than 127
Mauro Carvalho Chehab [Wed, 6 Feb 2008 18:55:19 +0000 (15:55 -0300)] 
V4L/DVB (7161): em28xx: Fix printing debug values higher than 127

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7160): em28xx: Allow register dump/setting for debug
Mauro Carvalho Chehab [Wed, 6 Feb 2008 12:00:41 +0000 (09:00 -0300)] 
V4L/DVB (7160): em28xx: Allow register dump/setting for debug

Adds vidioc_[g|s]_register handlers. This allows getting/setting register
from em28xx.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7158): Fix em28xx audio initialization
Mauro Carvalho Chehab [Wed, 6 Feb 2008 01:29:26 +0000 (22:29 -0300)] 
V4L/DVB (7158): Fix em28xx audio initialization

AC97 register initialization seem to always be needed. This patch fixes audio
for Prolink/Pixelview USB2 board.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7156): em28xx/em28xx-core.c: fix use of potentially uninitialized variable
Andrew Morton [Tue, 5 Feb 2008 10:37:21 +0000 (07:37 -0300)] 
V4L/DVB (7156): em28xx/em28xx-core.c: fix use of potentially uninitialized variable

drivers/media/video/em28xx/em28xx-core.c: In function 'em28xx_set_audio_source':
drivers/media/video/em28xx/em28xx-core.c:276: warning: 'no_ac97' may be used uninitialized in this function

This looks like a genuine bug to me.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7150): [v4l] convert videbuf_vmalloc_memory to videobuf_vmalloc_memory
Brandon Philips [Mon, 4 Feb 2008 23:52:21 +0000 (20:52 -0300)] 
V4L/DVB (7150): [v4l] convert videbuf_vmalloc_memory to videobuf_vmalloc_memory

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7139): add parentheses
Roel Kluin [Sat, 2 Feb 2008 23:20:58 +0000 (20:20 -0300)] 
V4L/DVB (7139): add parentheses

'!' has a higher priority than '&': bitanding has no effect.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7132): Add USB ID for a newer variant of Hauppauge WinTV-HVR 900
Luc Saillard [Wed, 30 Jan 2008 20:23:00 +0000 (17:23 -0300)] 
V4L/DVB (7132): Add USB ID for a newer variant of Hauppauge WinTV-HVR 900

Device description:
WinTV-HVR-900
M/R: 65018/B3C0 ##4207

Signed-off-by: Luc Saillard <luc@saillard.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7122): saa7134-empress: Remove back lock
Mauro Carvalho Chehab [Thu, 31 Jan 2008 16:59:29 +0000 (13:59 -0300)] 
V4L/DVB (7122): saa7134-empress: Remove back lock

videobuf functions at close() method already locks videobuf. It makes no sense
to keep the locking at empress close() method.

There is also a lock at open() method. I'm not sure if it is safe to remove the
locking there.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7121): Renames videobuf lock to vb_lock
Mauro Carvalho Chehab [Thu, 31 Jan 2008 16:57:53 +0000 (13:57 -0300)] 
V4L/DVB (7121): Renames videobuf lock to vb_lock

This helps to identify where vb_lock is being used, and find missusages of the
locks.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7120): videobuf lock is already initialized at videobuf-core.c
Mauro Carvalho Chehab [Thu, 31 Jan 2008 16:40:04 +0000 (13:40 -0300)] 
V4L/DVB (7120): videobuf lock is already initialized at videobuf-core.c

Removes the duplicated mutex_init code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7118): dvb-ttpci: Improved display of still pictures
Oliver Endriss [Wed, 30 Jan 2008 04:07:20 +0000 (01:07 -0300)] 
V4L/DVB (7118): dvb-ttpci: Improved display of still pictures

Improved display of still pictures (VIDEO_STILLPICTURE ioctl).
Ensure that both fields are displayed for progressive frames.

Thanks to Reinhard Nissl and Klaus Schmidinger for finding out
that the FREEZE command does this.

Thanks-to: Reinhard Nissl <rnissl@gmx.de>
Thanks-to: Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7117): budget-av: Add support for Satelco EasyWatch PCI DVB-T
Kim Sandberg [Wed, 30 Jan 2008 03:42:01 +0000 (00:42 -0300)] 
V4L/DVB (7117): budget-av: Add support for Satelco EasyWatch PCI DVB-T

Add support for Satelco EasyWatch PCI DVB-T, sub-id 0x1894:0x003a.

Signed-off-by: Kim Sandberg <ksan@saunalahti.fi>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7116): budget-av: Add support for KNC TV Station Plus X4
Oliver Endriss [Wed, 30 Jan 2008 02:56:51 +0000 (23:56 -0300)] 
V4L/DVB (7116): budget-av: Add support for KNC TV Station Plus X4

Add support for KNC TV Station Plus X4, sub-system id 0x1894:0x0015.
Based on a patch submitted by Johannes Deisenhofer.

Thanks-to: Johannes Deisenhofer <jo.deisenhofer@googlemail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7110): Trivial printf warning fix (radio-si470)
Tobias Lorenz [Tue, 29 Jan 2008 01:49:14 +0000 (22:49 -0300)] 
V4L/DVB (7110): Trivial printf warning fix (radio-si470)

Thanks to  Darren Salt <linux@youmustbejoking.demon.co.uk> for pointing this
issue.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7108): radio-si470x.c: check-after-use
Tobias Lorenz [Tue, 29 Jan 2008 01:43:13 +0000 (22:43 -0300)] 
V4L/DVB (7108): radio-si470x.c: check-after-use

Adrian used the coverity checker against radio-si470x and found this:

> The Coverity checker spotted the following check-after-use in
> drivers/media/radio/radio-si470x.c:
>
> <--  snip  -->
> static void si470x_usb_driver_disconnect(struct usb_interface *intf)
> {
>         struct si470x_device *radio = usb_get_intfdata(intf);
>
>         del_timer_sync(&radio->timer);    <------------------
>         flush_scheduled_work();
>
>         usb_set_intfdata(intf, NULL);
>         if (radio) {                      <------------------
>                 video_unregister_device(radio->videodev);
>                 kfree(radio->buffer);
>                 kfree(radio);
>         }
> }
> <--  snip  -->
>
> Either "radio" can be NULL and this case has to be properly handled or
> the NULL check is not required.

These two lines should indeed better be inside the if statement.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7106): em28xx/: make 2 functions static
Adrian Bunk [Tue, 29 Jan 2008 01:10:48 +0000 (22:10 -0300)] 
V4L/DVB (7106): em28xx/: make 2 functions static

This patch makes the following needlessly global functions static:
- em28xx-core.c:em28xx_write_reg_bits()
- em28xx-video.c:em28xx_vdev_init()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7104): stk-sensor.c: make 2 functions static
Adrian Bunk [Tue, 29 Jan 2008 01:10:58 +0000 (22:10 -0300)] 
V4L/DVB (7104): stk-sensor.c: make 2 functions static

This patch makes the following needlessly global functions static:
- stk_sensor_outb()
- stk_sensor_inb()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7103): make stk_camera_cleanup() static
Adrian Bunk [Tue, 29 Jan 2008 01:11:01 +0000 (22:11 -0300)] 
V4L/DVB (7103): make stk_camera_cleanup() static

stk_camera_cleanup() can become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7102): make tuner-core.c:tuner_list static
Adrian Bunk [Tue, 29 Jan 2008 01:11:15 +0000 (22:11 -0300)] 
V4L/DVB (7102): make tuner-core.c:tuner_list static

tuner_list can become static - and it's anyway a way too generic name
for a global variable - see commit b00ef4b8d8c29bfb5f6f92ee60bc04b604f36ef2
for a completely different global variable of the same name I just made
static...

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7100): frontends/tda18271-common.c: fix off-by-one
Adrian Bunk [Tue, 29 Jan 2008 01:12:41 +0000 (22:12 -0300)] 
V4L/DVB (7100): frontends/tda18271-common.c: fix off-by-one

This patch fixes an off-by-one error spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7097): saa7134-dvb: add missing dvb_attach call (for tda10046_attach)
Matthias Schwarzott [Mon, 28 Jan 2008 15:01:11 +0000 (12:01 -0300)] 
V4L/DVB (7097): saa7134-dvb: add missing dvb_attach call (for tda10046_attach)

saa7134-dvb: add missing dvb_attach around tda10046_attach

This patch adds a possibly missing dvb_attach for tda10046_attach.
This removes the hard dependency of saa7134-dvb on tda1004x module.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7093): radio-sf16fmi: fix request_region()
Mauro Carvalho Chehab [Sun, 27 Jan 2008 17:43:20 +0000 (14:43 -0300)] 
V4L/DVB (7093): radio-sf16fmi: fix request_region()

isapnp_fmi_probe attaches device. However, if request_region() fails, the
device isn't disattached.

Reviewed-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7092): radio-sf16fmr2: fix request_region() validation [bugzilla 9699]
Douglas Schilling Landgraf [Sun, 27 Jan 2008 17:29:51 +0000 (14:29 -0300)] 
V4L/DVB (7092): radio-sf16fmr2: fix request_region() validation [bugzilla 9699]

This patch changed the request_region() validation to avoid invalid return.
Thanks to Roland Kletzing <devzero@web.de> for bug report and data collection.

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7091): radio-si470x improvements and seldom problem fixed in tuning functions
Tobias Lorenz [Sun, 27 Jan 2008 17:54:07 +0000 (14:54 -0300)] 
V4L/DVB (7091): radio-si470x improvements and seldom problem fixed in tuning functions

I updated the radio-si470x driver another time. Here are the commented history entries:

- number of seek_retries changed to tune_timeout
The last versions checked for the end of frequency tuning by polling a si470x register.
Therefore polling depended on the usb utilization.
This was changed to have a constant timeout now.

- fixed problem with incomplete tune operations by own buffers
The last version used a shared buffer to assembly the USB HID reports.
It sometimes happened, that multiple functions were modifing this buffer simultanuously.
When sending such reports, the hardware returned USB stalls (-EPIPE).
Now buffers of the correct size (smaller than before) are allocated as local variables.

- optimization of variables
The size of some variables has been reduced to allow the compiler to generate more optimized code.

- improved error logging
At some important location, error checking was improved.
Especially the usb transfers to access si470x registers and the tuning functions were modified.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7090): V4L: stkwebcam: use v4l_compat_ioctl32
Jaime Velasco Juan [Sun, 27 Jan 2008 15:25:00 +0000 (12:25 -0300)] 
V4L/DVB (7090): V4L: stkwebcam: use v4l_compat_ioctl32

Signed-off-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7089): V4L: stkwebcam: Power management support
Jaime Velasco Juan [Sun, 27 Jan 2008 15:24:59 +0000 (12:24 -0300)] 
V4L/DVB (7089): V4L: stkwebcam: Power management support

Signed-off-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7088): V4L: stkwebcam: Add support for YUYV format
Jaime Velasco Juan [Sun, 27 Jan 2008 15:24:58 +0000 (12:24 -0300)] 
V4L/DVB (7088): V4L: stkwebcam: Add support for YUYV format

Signed-off-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7086): driver: tcm825x - fix logical typo error
Cyrill Gorcunov [Sat, 26 Jan 2008 10:38:01 +0000 (07:38 -0300)] 
V4L/DVB (7086): driver: tcm825x - fix logical typo error

This patch does fix potential NULL pointer dereference
due to logical typo error.

The issue is pointed out by
Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
CC: Sakari Ailus <sakari.ailus@nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7085): saa7134: detect the LifeView FlyDVB-T Hybrid Mini PCI
Hermann Pitton [Sun, 20 Jan 2008 22:49:51 +0000 (19:49 -0300)] 
V4L/DVB (7085): saa7134: detect the LifeView FlyDVB-T Hybrid Mini PCI

Thanks to Angelo Lisco for his initial patch we missed and to
Ahmet Dogan Ugurel confirming such a device functional.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7084): saa7134: add support for the Medion / Creatix CTX948 card
Hermann Pitton [Sun, 20 Jan 2008 22:42:01 +0000 (19:42 -0300)] 
V4L/DVB (7084): saa7134: add support for the Medion / Creatix CTX948 card

This adds support for analog inputs and DVB-T.
Good sensitivity for DVB-T currently needs to use analog TV first.
DVB-S support is not yet completed, but is on the way.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7083): saa7134: enable radio and external analog audio-in on the md2819
Hermann Pitton [Sun, 20 Jan 2008 22:32:39 +0000 (19:32 -0300)] 
V4L/DVB (7083): saa7134: enable radio and external analog audio-in on the md2819

It also enumerates now the separate composite input at first
and adds mute ability to radio and external audio-in.

Many thanks to Daftcho Tabakov for reporting the flaws and testing.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7082): support for Twinhan Hybrid DTV-DVB 3056 PCI
Hermann Pitton [Sun, 20 Jan 2008 22:27:51 +0000 (19:27 -0300)] 
V4L/DVB (7082): support for Twinhan Hybrid DTV-DVB 3056 PCI

S-Video is unconfirmed, but likely correct.
The remote is not yet investigated.

Thanks go to Sioux for providing code and asking to fix the auto
detection.

Signed-off-by: sioux <sioux_it@libero.it>
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7081): zr364xx: add support for Creative DiVi CAM 516
Antoine Jacquet [Sat, 26 Jan 2008 01:03:10 +0000 (22:03 -0300)] 
V4L/DVB (7081): zr364xx: add support for Creative DiVi CAM 516

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7080): zr364xx: add support for Pentax Optio 50
Antoine Jacquet [Sat, 26 Jan 2008 01:01:53 +0000 (22:01 -0300)] 
V4L/DVB (7080): zr364xx: add support for Pentax Optio 50

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7079): zr364xx: fix typo in documentation
Antoine Jacquet [Sat, 26 Jan 2008 01:00:19 +0000 (22:00 -0300)] 
V4L/DVB (7079): zr364xx: fix typo in documentation

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7076): bt878: include KERN_ facility level
Akinobu Mita [Sat, 19 Jan 2008 08:38:59 +0000 (05:38 -0300)] 
V4L/DVB (7076): bt878: include KERN_ facility level

printk should use KERN_* levels.

CC: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7049): Remove sound/driver.h
Mauro Carvalho Chehab [Fri, 18 Jan 2008 11:53:26 +0000 (08:53 -0300)] 
V4L/DVB (7049): Remove sound/driver.h

sound/driver.h is already included by sound/core.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7133): Fix Kconfig dependencies
Mauro Carvalho Chehab [Sat, 2 Feb 2008 14:25:31 +0000 (11:25 -0300)] 
V4L/DVB (7133): Fix Kconfig dependencies

As pointed by Adrian Bunk, with I2C=m and VIDEO_DEV=y, videodev brokes.

This patch moves the functions that videodev needs from v4l2-common. It also
fixes some Kconfig changes.

After this patch, I2C=m / VIDEO_DEV=y will make v4l2 core statically linked
into kernel. v4l2-common will be m, and all V4L drivers will also be m.

This approach is very conservative, since it is possible to have V4L drivers
that don't need I2C or v4l2-common. The better is to map what drivers really
need v4l2-common, making them to select v4l2-common, and allowing the others to
be 'y', 'm' and 'n'.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7119): Remove obsolete code from v4l2-common
Mauro Carvalho Chehab [Thu, 31 Jan 2008 16:15:52 +0000 (13:15 -0300)] 
V4L/DVB (7119): Remove obsolete code from v4l2-common

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (7115): Fix bug #9833: regression when compiling V4L without I2C
Mauro Carvalho Chehab [Tue, 29 Jan 2008 21:32:35 +0000 (18:32 -0300)] 
V4L/DVB (7115): Fix bug #9833: regression when compiling V4L without I2C

Adrian Bunk reported:

> > Commit 8ffbc6559493c64d6194c92d856196fdaeb8a5fb causes the following
> > compile error with CONFIG_VIDEO_DEV=y/m, CONFIG_I2C=n:
> >
> > <--  snip  -->
> >
> > ...
> >   MODPOST 26 modules
> > ERROR: "i2c_attach_client" [drivers/media/video/v4l2-common.ko] undefined!
> > make[2]: *** [__modpost] Error 1
> >
> > <--  snip  -->

...

And what should happen if CONFIG_VIDEO_DEV=y, CONFIG_I2C=m?

CC: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
Lachlan McIlroy [Mon, 18 Feb 2008 02:51:42 +0000 (13:51 +1100)] 
Merge git://git./linux/kernel/git/torvalds/linux-2.6 into for-linus

16 years ago[XFS] Added quota targets and removed dmapi directory
Lachlan McIlroy [Wed, 28 Nov 2007 07:28:09 +0000 (18:28 +1100)] 
[XFS] Added quota targets and removed dmapi directory

Fixes build failures introduced by bad merge to mainline.

This page took 0.048266 seconds and 5 git commands to generate.